Perl's community and the difference between Ignorance and Stupidity.

user-pic

Wiki Extras for this post

I've said before that Perl has a very active community. There are hundreds of people in each of the Perl related IRC groups I frequent. There are thousands of people on the mailing lists and more who frequent places like use.perl and perlmonks. There are several hundred modules uploaded to CPAN every month. Each one of those uploads usually involved the work of several people working together to improve those modules.

Having spent the last decade in the Perl community, I can tell you that it is composed of a lot of very smart people. It is generally open and accepting of new people and can be a very lively and rewarding group to be a part of.

That said not everyone finds it to be that way. At least once a week someone will join one of the Perl related IRC channels I frequent and within a few minutes will get what amounts to an 'ok, you can go away now.' This happens on forums and mailing lists as well. So if the Perl community is as lively and accepting as I claim, what's the deal?

The answer is perhaps simpler than you might think. It comes down to the difference between Ignorance and Stupidity. Merriam-Webster defines ignorance as 'lack of knowledge, education, or awareness' and stupidity (by way of 'stupid') as 'given to unintelligent decisions or acts : acting in an unintelligent or careless manner.'

In many ways stupidity and ignorance are similar. They both indicate a lack of knowledge. What you do next is the deciding factor with regard to which camp you are in.

The Perl community is very tolerant of ignorance. Everyone starts out ignorant in any new field of endeavor. This is a state which simply requires time and effort to rectify. If you are new and you are willing to learn, to be taught and perhaps more importantly to allow your approach to problems to be changed, you will be accepted quickly into the community. You will be mentored and led to the knowledge you seek.

The Perl community is, however, very intolerant of stupidity. When you approach the community as though they owe you an answer, or you indicate that you are unwilling to do the legwork to find out an answer or change your approach to a problem, you will be quickly scorned and you will find the Perl community a very hostile place.

Personally, I believe this comes from what I think is one of the core values of Perl as a language. That value is JFDI or 'Just F*ing Do It.' People in the Perl community are doing things. Even though they may be present on IRC or taking a break to read a Perl web forum, they are taking time from what they are doing to help. If you reject that help, or treat it as though you are entitled to it, you are wasting their time and that is something that no-one appreciates.

Perl is a different language. It often requires a different approach to problems than you are used to if you are coming from another language. When you are coming to Perl, you need to recognize this fact and be open to having your methods turned on their head. Often times you will come out of it with a totally new perspective, a feeling of 'Wow, I wish xyz language had that.' Sometimes you will find yourself realizing 'Wow, that's really messed up, it should not be that complicated.' In fact, many fantastic CPAN modules got started after just such realizations.

In the end, though, it's a question of attitude. No matter how long we've been writing code, we are all students of programming. If you approach the Perl community as a group who can do your homework for you, it might be best for you to consider a different path, as you will not find it a welcoming environment. If, instead, you approach the Perl community with a desire to learn and a willingness to do the work required, you will find it a vibrant and rewarding community that will teach you more about programming (and perhaps life in general) than any university course ever could.

No TrackBacks

TrackBack URL: http://www.catalyzed.org/mt/mt-tb.fcgi/24

7 Comments

| Leave a comment

Speaking of attitude, I strongly believe that what makes the Perl community special is that as true underdogs we are energized by overcoming challenges and sneaking up from behind. In the longer term, there's a good chance of snatching the trophy, but that's not the most important thing right now.

Perl community is full of "Dr. House's". You can benefit from their knowledge if you can handle the humiliation and flamings you will get.

I got flamed at my first post in the mailing lists by people who even didn't understand my question. I got replies a few days later from people who understood the question I'm asking and answered gently, but it was too late. I didn't posted to the mailing lists since then and enjoy Perl mostly by myself.

Perl's community is the last thing to be proud of for Perl world.

Actually, Canol, I found the thread you refer to and it is the quintessential example of what I described above. Quoting your own post, which was the first one in the thread that had any negativity:

"You see? You just complicate things. I just want to learn what a variable is. "It is that simple". But you try to teach me what dynamic or loosely variables are."

You got upset because people tried to answer your question and didn't give you enough of what exactly you wanted. That is a sure fire way to alienate people in any community.

If you want a positive experience, you need to look at your own behavior and make adjustments, for one, you need to be patient, and for two, you need to realize that your original approach may need adjusting. In other words, you need to check your ego at the door.

'Tell me what I want and nothing else RIGHT NOW!' doesn't work here. It doesn't work for my 5 year old son either. He's nearly stopped trying. If he can change his behavior to get a better result, I'm sure you can also.

Now, I regretted that I posted here. I won't argue and I won't post here again after this message because it will go nowhere.

"Quoting your own post, which was the first one in the thread that had any negativity"

I didn't expect such a discussion. But to defend myself, see this:

"[I describe my problem here]

Dr.Ruud: And that is what you should expect when you use the wrong tool, or use a tool in the wrong way."

I assume that this is not the very gentle way of telling the person in front of you that he is wrong in somewhere. Just "that algorithm isn't for this kind of situations." would be enough.

And actually I tolerated that sentence (even didn't realized the sarcasm in it) until reading this at the end of his message:

"[I give additional information here to make sure people won't advise me to use a module.]

Dr.Ruud: That is very stupid."

And you tell me that the first post in that thread which has negativity in it was my response?

What I wanted was quite clear from my question but people kept giving me replies beyond my question with sarcasm. And apparently it keeps going by calling me a 5 year old child.

Lastly, I give the thread in question so that readers of these comments will decide themselves:

http://www.nntp.perl.org/group/perl.beginners/2008/11/msg105228.html

Hi Canol,

I think you are rather misrepresenting your case here, but those interested can read the discussion and decide for themselves.

On a personal note... to everyone who has had an experience like Canol: I will try to explain to you how to get a better response from the Perl community - and the world in general:


Consider your question carefully before you ask it.
Think about the fact that when you send a message, many many people see it and spend time reading it. If they respond, they are spending more time. If you are unwilling to spend a similar amount of time listening / researching and considering their responses, then you have wasted many people's time.
Realize your time is not worth more than other peoples time.
Understand that you are entitled to nothing. The time spent producing code and answering your question is time given to you. In online community, as in most real life communities, it is rude to reject a gift given in good faith.
Understand that a question is a door that opens you up to knowledge, and more than you might think. If you seek knowledge, it's a mistake to reject it when it is offered.


In other words, you are asking for something that no one is required to give. People give their time out of good will toward the community. If the question becomes a demand, that good will evaporates for you.

All of this is true in the real world as well. No one wants their time wasted. No one responds favorably to demands unless they are being paid large amounts of money to do so. (and even they aren't thinking favorable thoughts toward you)

It is ultimately your choice, but I encourage you to consider the above points and attempt to change how you approach online (and real life) communities. If you do so, you will find the social interaction to be quite rewarding.

Good luck!

Scientists used to think that hydrogen was the most abundant element in the Universe. This is now understood to be incorrect. The relatively new idea is that the most abundant element is stupidity.

But what can you do? If you do their homework for them, the only thing they learn is that they can get their homework done for them. Hardly the lesson you wanted to teach. Doing their homework for them wrong does not teach them either. The only thing you can do is attempt to inspire.

If you really want to see a breeding ground for stupidity, look no further than Yahoo! Answers.

user-pic

Sadly, as a long term Perl user and hacker, I have to agree with you. There are a lot in the perl community who could use some common courtesy, and compassion towards those seeking knowledge.

Leave a comment

All comments are moderated. Spammers don't waste your time

Sponsored By


Ionzero: Rescue your dev project.

Following

Not following anyone

Note to spammers: all comments are moderated. Don't waste your time