I’ve been playing around with the new Programmer Q&A site, Stack Overflow. Overall it’s a great site, and built with a vision that most web projects lack in the era of mis-applied agile development. You can checkout my profile page or it’s corresponding feed if you’d like to follow what I’m doing over there.
Sites like this are useful for filling narrow gaps in knowledge that might otherwise take hours, or even days to track down on your own. You know technology X can do Y, but the syntax isn’t documented anywhere or worse, it’s documented wrong in numerous places. Stack Overflow lets you avoid the headache of tracking this down on your own so you can concentrate on building your application/system.
I’m not sure how successful the site will be at it’s more grandiose plans to become a Wikipedia like source of truth for any and all programming problems. Take this thread on Javascript’s this variable. The answer marked as accepted by the asker does solve the immediate problem, but includes this bit ‘o text which is inaccurate
In JavaScript, “this” always refers to the object invoking the
function that is being executed.
My own answer, which covers the various behaviors of this in more detail is stuck at the bottom of the thread. To a user stumbling upon the page through Google, they’re back in the position of having two contradictory answers and now knowing which one to trust. The game like features that drive user behavior don’t encourage a thorough answering of any particular question.
In addition, as soon as the best answer green halo appears on any answer the community moves on to the next hot unanswered question. As soon as a random drive-by Googler sees the green halo best answer that seems to answer their question, they move on. It would be nice to see a post-question time window where the asker can’t mark something as the best answer, giving the correct information time to bubble up.
Irrespective of that, the site’s a valuable resource and something you’ll want to be aware of if you’re doing any kind of computer programming.