|Perl: the Markov chain saw|
Re: Humour – an important mechanism for language learningby mr_mischief (Monsignor)
|on Apr 30, 2008 at 16:42 UTC||Need Help??|
Many psychologists and anthropologists, from what I've read (I'm neither) think that humor is mainly a way to relieve stress from stressful situations. It helps lower blood pressure and body temperature, and it helps keep people from being overwhelmed by nervousness. Many things we think are funny are either surprising or mildly uncomfortable, both of which could be stressful situations if not taken humorously.
Learning a new word or a new unusual trick in a programming language is an exhilarating experience for some people. The task causes person to stretch his or her boundaries ever so slightly, and that person achieves their goal. Laughing about it is healthier than being nervous and panicked over it.
People who enjoy the topic they are learning are more likely, I think, to be able to laugh about learning new things than are people who find the topic overly difficult or boring. This means that people who train in something they enjoy end up healthier compared to studying something they despise. It's very good that your niece enjoys new words, and it's very good that Perl programmers enjoy learning new Perl or seeing novel applications of it.
I think that Perl's community is largely connected by and to a lesser extent even defined by the humor of the community. I think this is one reason there's such a difference of opinion between the proponents of small, orthogonal languages and those of large languages in which TIMTOWTDI like Perl.
The small language proponents are concerned with getting down to the problem at hand without having to learn too much about the tool. Those of us who prefer a more baroque tool both enjoy learning the extra syntax and semantics and know that the investment pays off by being able to express those problems more clearly and succinctly later, if only to others with the same appreciation for big languages.
Enjoying the investment in learning the language makes it much more worthwhile, and the humor both comes in part from that and reinforces it.
If I had to make a prediction, I'd say that your niece will go on to learn more words than most people. There's not a lot of danger of her running out of vocabulary to learn if she enjoys doing that. That's especially true of languages like English which have so many words -- well over 450,000 in many dictionaries.
I'd also say that the majority of intermediate to advanced Perl programmers got that way because they have the same sort of appreciation for Perl as your niece does for her native language. They know that seeing and learning an unfamiliar construct or a novel use of the language takes a little effort, but that there's a payoff to what they learn.
Even JAPHs and other obfuscated programs, which are not written in styles you'd want to use for a real program, often expand the reader's (and the author's!) horizons a bit. There's some new trick used in some, while others simply have an unusual way of looking at the code and data. That someone plays games with their tools and gets practice in building and understanding oddities for their own sake and not as a means to an end is a sign of enjoyment of using the tools and relishing learning more.
Most woodworkers, for example, have scraps of wood that are cut, routed, sanded, and carved in various ways for the simple reasons that they want to learn a technique for later and they enjoy the work. Perl obfus and golf are no different. They're not end tables or kitchen cabinets. They're the scrap pieces we go back to when we want a particular scroll on a mantle or a particular fillet on the edge of a coffee table. The fact that they are ugly by themselves is no matter. It's just practice. This is one aspect of such programs that people deriding C and Perl programmers for obfuscations as a passtime are probably missing.
I think those who are most expert with Perl (and perl, because in some edge cases that matters too) might be harder to impress. I also think they're still likely to appreciate humor about the language and novel approaches to problems because those things probably contributed to them being the experts in the first place. Perl is a great tool, and gets lots of work done. The comparatively large investment of time and effort into learning to use it effectively means that people who learn it best are probably the type who enjoy tools for their own sake as well as for what they produce.
Humor plays a big part of that enjoyment, and the enjoyment leads to more humor. It's a very healthy thing for a community such as ours to enjoy what we do, and humor is both a sign and a cause of that enjoyment.