A place for programming questions
StackOverflow was originally designed to be about simple programming questions, as defined in the FAQ. Specific questions that have a correct answer and often contain code. Like experts-exchange, but done right. Got a compiler error you don’t understand? Trying to do something in code but not sure how? That sort of thing. Questions like:
How can we set the background color in a datatable through codebehind?
The other official sites seem to keep this kind of question as their main focus. I agree with this direction, and I’ve asked and answered plenty of questions like this (that first question is mine). Stackoverflow includes tools allowing the community to close questions that don’t fit these guidelines, like obvious spam, exact duplicates of existing questions, anything that’s not a question, etc.
However, from very early on there was an unintended side-effect: some questions emerged that didn’t exactly fit that mould (for example, somewhat subjective, or discussion style questions) but were still interesting, and got interesting answers. They weren’t completely outside the official guidelines, but they weren’t completely inside them, either. The quality and size of the programmer community combined with the ability to vote and edit created something unique which many users considered to be worthwhile. Many of these questions became very popular.
A few examples:
In fact, looking at the top 15 questions on StackOverflow while I write this, at least 12 are subjective (e.g.: Strangest-language-feature), not strictly programming problem questions (e.g.: what is your best programmer joke) or not questions at all (e.g.: I’m graduating with a Computer Science degree but I don’t feel like I know how to program.).
Only moderators and users with fairly high reputations can vote to close questions. I’ve noticed that some of them, apparently thinking they’re “doing the right thing”, are taking the official question guidelines to the extreme – so much so that they’re actually doing more harm than good.
Once again, I’m not talking about legitimately bad questions here – spam, real duplicates, totally off-topic stuff. They need to go (of course). But I’ve noticed that any question that could be even a little bit subjective, anything that has no source code in it, anything sounding similar to an existing question (even if they are actually totally different) will get close votes and terse comments.
Some questions have survived in spite of this, but it’s frustrating to see interesting questions shot down so often. Even 2 of the top 15 questions above have been closed.
It’d be hard to argue that there was nothing interesting, important or valuable in Alan Kay’s question above (and it’s answers). And yet, the very first comment calls it “not programming related”. Another curtly states it should be closed as a discussion question.
This problem has spread to many of the other sites on StackExchange, too. At one point, if you asked a question on StackOverflow and a couple of people thought it would be better on SuperUser, it would be migrated there even though SuperUser was still in private beta. Your question would disappear and, as far as you knew, there was no way for you to see your own question, let alone any answers.
I know I’m not alone on this. There are highly upvoted comments on Kay’s question like “If this gets closed, I may never come back to this site again” and “Yeah, can we please not show Alan Kay what a bunch of children we are by having a close/open war right in front of him?” and “144 votes, 8k views, 93 favorites, a positive mention in the SO podcast, a topic of Jeff’s Coding Horror blog, and a driver for a change in functionality of the site. Yeah, this question shouldn’t be here! :rolleyes:”
Don’t get me wrong, I understand that spam, real duplicates, truly off-topic questions, and pointless opinion wars hurt the site (and if they got out of control, that would be much worse than this).
But these sites exist for the benefit of their communities. Please, think twice before voting to close.
And if you’re unsure – why not just leave it alone?