Which of the above is correct usage and why. I saw this edit in a stackoverflow question and it got me wondering why was it edited. Is it just because the first one sounds better?
The source of confusion here is that on online forums the title of a question can be perceived (by the poster) more as a title (or rubric) than as a question posed.
If we pose the question:
What should every programmer know?
If we create a rubric beneath which we list all the things a programmer should know:
Things every programmer should know
What every programmer should know