About the wonders of Stack Overflow
I am in love with Stack Overflow. Like many other programmers the world around, I guess. Indeed, whatever your doubts or troubles about some programming topic, it is highly likely that someone on Stack Overflow has already answered a question similar to yours, or, even more impressive, that someone will quickly give you some hints, or even a full solution with code, if you ever decide to ask your question there.
The fact is, one must recognize, that Stack Overflow has managed to build a community of developers that care about the quality of the answers they give, and a clever system that highlights the best answers, those that really do provide a solution. Stack Overflow is, in my view, the perfect model to build a community where each member’s contribution is measured and rewarded according to its real value for the community. I know this may sound radical, but this is what it looks like to me, and I am stressing it here so to express clearly how much I consider this an important experiment.
Still, the more I use and contribute to Stack Overflow, the more puzzled I am at the fact that the answers that get most up votes, or that more easily get many up votes, are those to really basic questions. Take my case. The most up voted answer I have is to the question “What does Objective-C actually do when you declare an object?”. This required explaining the basic concept of pointer and assignment of a dynamically allocated object to a pointer. Or take this one: “Division in C++ not working as expected”. It got 6 up votes for explaining that in C the expression “5/6” evaluates to zero, while what the asker wanted was “5.0/6.0”. And my answer was not the most up voted in this case, another one got 22 up votes and is, at the time I write, practically the second most up voted answer for his writer! Or take this: “Use autorelease when setting a retain property using dot syntax?”; 6 up votes to explain the basic mechanism of autorelease in Objective-C.
Of course, I also got up votes for more complex answers, that some times also helped clarifying my own doubts, and for which I had to actually try some code out. Pretty hard-to-earn up votes.
And of course, this does not happen to me exclusively, as my second example attest and as I continuously observe.
I understand perfectly how this possible in many ways. On the one hand it does say something on the public of readers of Stack Overflow. If basic questions are more likely to attract the interest of many contributors, this could be a hint at the fact that many, possibly the majority of them are unexperienced programmers. On the other hand, a more complex question is bounded to have a more limited public of interested readers, since it will highly possibly refer to a specific topic, or technique, or library, etc.
So this is how it is. It is not a critique, I still think that Stack Overflow is a brilliant endeavor and a hugely useful sources of questions and answers, and that its up votes based rewarding mechanism is sufficiently accurate in reflecting the overall contribution to the site by each one. Only, it would be really nice to find a way to also measure the effort it took to write an answer, aside from its usefulness.