One of the things that makes a programming language great is the so-called community that surrounds it. I say "so-called" because , unlike any community you'll encounter in the real world, a programming community is made up of largely random and anonymous people who have almost nothing in common save the fact that they wish to use said programming language. But that isn't entirely complete, there is invariably one other thing members of a programming community have in common: they are intelligent.

Why do communities matter? Because, with open-source projects, when you have a question you have to start Googling your way around that community to hopefully get some sort of answer. When that happens, you wish to hell that the people responding will be intelligent. But intelligence comes in many flavors, and the real problem with this system is that the intelligence of a programming community is likely to be high in Mathematical-Logical but low in Interpersonal. What enforces this rule I can't say, but in my experience of working as a professional programmer, it generally holds true. I'd say even more so when you you start searching the "help lists" that programmers hang out in.

Personally I'm wary of programming communities. I'm suspicious of what their motivations are. Call me a cynic. I didn't start out that way: in my more innocent days I skipped happily along, assuming that everyone offering help was motivated by altruistic pangs of generosity. In many cases they are. Unfortunately a dozen of those cases can be totally eclipsed by one RTFM type who, inexplicably, hangs around in help groups but feigns offense at being asked questions by people needing help.

It's become an experiment in human nature to me. You can try it for yourself. Visit any of these help groups and post a question like "How do I [any elementary technique]?" You can sweeten the bait even more by commiting an offense like top-posting or adding "HELP!" in all-caps to the subject line. Okay, don't do that really, this is more of a thought-experiment. Let's just imagine what sort of people will pipe up and give a response. Some will be helpful and friendly, but some will be condescending and snipish. The problem is it's the snipish reply that will turn the new programmer off to the other replies.

I don't rant very often, but this is something I don't mind vetching about. I'd love to see the Perl community working harder to police itself in this regard. It may just be inevitable that any group of computer programmers will turn into a self-agrandizing clique. Perhaps Howard Gardner could explain this phenomenon of human psychology. Perhaps it is just a case of some people will be wankers.

But true believers and evangelists of a language should realize that they aren't doing their cause any favors by intimidating the "newbies" and "script kiddies" who want to join in. RTFM is as harmful to the lifeblood of an online community as trolls and flames. Consider whether a question that you think is "obvious" indicates that maybe the F*cking Manual isn't clear enough, isn't available in the right format or via channels that are inaccessible to some. That old teacher's nut of "no bad questions" is exactly apt here. Because, as any teacher will tell you, if one person gets the courage up to actually ask a question, there will inevitably be a dozen more who have the same question but didn't ask. The one who asks is actually doing you a favor by pointing out how you can do a better job of teaching all those people. Thank them, be grateful and respectful; treat their question with the same deference you would a gift, because that's exactly what it is.