From the world's nerdiest vampire and some guy who writes an awful lot comes my favourite massively multiplayer online role-playing game Stack Overflow. I was introduced to Stack Overflow by the world's best-paid Internet troll Rich B (who, like bstorer before him, is stealing my face for his avatar) a few months ago as a place to post some anonymous WTF code for a good laugh.
At first glance, I thought that Stack Overflow was a very bad idea. I wanted to post about it here almost immediately, but then reason struck me in the head and told me it would be better if I use it for a while before forming an opinion about it. Instead of just relying on my first impressions of the site, I decided to hang around, gain some levels and gank some noobs before coming to a conclusion.
So now, after two months, I can tell you that Stack Overflow is a very bad idea. But it's a damned entertaining bad idea.
Stack Overflow is a site that lets people ask questions relating to programming. Once asked, other users can show up and provide answers, comment on the question, or comment on existing answers. From this standpoint it's very similar to a forum.
But our night-dwelling benefactor and his cohorts decided to add Digg-like features to the base forum model. Every question and answer can be upvoted and downvoted by users. These votes give points to or take points away from the users who posted them. The points, in turn, are used to assign privileges to users such as the ability to edit other users' posts. Users with enough points are effectively moderators.
The basic idea is to encourage participation by rewarding good, thoughtful questions and answers. If people are going to get rewarded for helping each other, they're just going to be incredibly helpful! Problems appear when you apply this theory to reality.
When I first saw Stack Overflow, I thought to myself, "Wow, people are just going to do things to get more points instead of actually being useful just like TF2 players did when Valve released its medic achievement pack." I was right. Stack Overflow attracts people who have good, interesting questions. It also attracts a lot more clueless people who have very little desire to learn and have every desire to have Stack Overflow do their jobs for them. Instead of treating Stack Overflow as a resource to find intelligent answers, the vast majority of users either ask questions that could be answered in five seconds with a trip to Google, or subjective questions that serve very little useful purpose.
Since Stack Overflow is so full of users who want people to do their jobs for them, the kinds of answers that are nothing more than "here is the answer" without any attempt to actually achieve understanding are the ones that are upvoted the most (in stark contrast to my entire reason for making this blog). Since people have the TF2 get-the-achievement mentality, users are predisposed to answering questions with code snippets with little to no explanation, even if only subconsciously, because those are the types of answers that receive the most points.
The end result of all this is that Stack Overflow only reinforces the "please give me the codes" mentality seen all over the Internet. Users are getting their answers without ever learning anything, and users are getting points for doing other people's work for them.
Sometimes, a question implies the asker is not only clueless, but has dangerously bad ideas. I've said it before and I'll say it again, I don't leave dangerously bad ideas unchallenged. If I see such an idea, I will do and say what I can to try to make the asker aware of how clueless he is. Users are asking if they should pound a nail with an old shoe or a glass bottle. I pop in and say "you should use a hammer" and am met with resistance and downvotes. This is the kind of environment Stack Overflow is generating! I, of course, won't let up but who knows how many less-determined minds have given in to this mentality?
Today I read a particular post in which a user asked a question that betrayed an utter misunderstanding in cross-browser compatibility issues. I confronted him with this in mind and gave him the best advice I could and was marked as offensive because of it. Hah! It's offensive to tell people that their objectively bad ideas are bad. What a world we live in. Stop being offended and start learning from your mistakes. That's what mistakes are for.
I said I find Stack Overflow to be highly entertaining. As long as I avoid questions that can be solved by pasting the exact question text into Google and follow only those questions that require real reasoning to solve, Stack Overflow is a very nice forum indeed. It has a number of users like me who want to teach when possible and learn the rest of the time, and this group is truly a joy to deal with. I post without regard for achievements or points, treating the site as a forum. Helping the world make better software is enough of a reward for me. Gaining more levels as a result just gives me more privileges to help more efficiently.
I was going to delay in talking about this for a week or two, but then someone from Stack Overflow had to pop in and leave a comment about Stack Overflow that has nothing to do with The Right Glue and everything to do with the post mentioned above. Why didn't this "Stackoverflow Reader" guy use the comment functionality offered by that site? Who knows. As punishment for his silliness, I'm going to leave his e-mail address in the comments where my spammers can see it. Enjoy your Cialis, buddy.