Joel (of joelonsoftware.com) writes of one of his latest endeavors: Stack Overflow, a Q&A style site for developers and, I must say, I’m excited about it. I want to go answer a bunch of questions right now! …except that they already seem to be answered (at least on the topics that I could answer…).
He writes in an announcement today:
You know what drives me crazy? Programmer Q&A websites. You know what I’m talking about. You type a very specific programming question into Google and you get back:
- A bunch of links to discussion forums where very unknowledgeable people are struggling with the same problem and getting nowhere,
- A link to a Q&A site that purports to have the answer, but when you get there, the answer is all encrypted, and you’re being asked to sign up for a paid subscription plan,
- An old Usenet post with the exact right answer—for Windows 3.1—but it just doesn’t work anymore,
- And something in Japanese.
If you’re very lucky, on the fourth page of the search results, if you have the patience, you find a seven-page discussion with hundreds of replies, of which 25% are spam advertisements posted by bots trying to get googlejuice for timeshares in St. Maarten, yet some of the replies are actually useful, and someone whose name is “Anon Y. Moose” has posted a decent answer, grammatically incorrect though it may be, and which contains a devastating security bug, but this little gem is buried amongst a lot of dreck.
Well, technology has gotten better since those discussion forums were set up. I thought that the programming community could do better by combining the idea of a Q&A site with voting and editing.
Would it work? I had no idea.
Every question in Stack Overflow is like the Wikipedia article for some extremely narrow, specific programming question. How do I enlarge a fizzbar without overwriting the user’s snibbit? This question should only appear once in the site. Duplicates should be cleaned up quickly and redirected to the original question.
Some people propose answers. Others vote on those answers. If you see the right answer, vote it up. If an answer is obviously wrong (or inferior in some way), you vote it down. Very quickly, the best answers bubble to the top. The person who asked the question in the first place also has the ability to designate one answer as the “accepted” answer, but this isn’t required. The accepted answer floats above all the other answers.
It all boils down to this though: it works, and it’s awesome. One place to tap into knowledge about any development platform out there and get the most relevant answer to your question. Seriously, go check it out, post haste!