Camelot home page

a view of Perl culture

by George Woolley


some notes on Perl culture

at the heart of the matter

  • the Perl language.
  • postmodernism.

some aspects of the Perl culture

  • magic: "the Magic of Perl", the programmer as artist, role playing, comedy, humor.
  • people: have funny shaped minds, peculiar psyches ; reality: a mess, 'Tsall good.
  • synthesis: reconstruction, melting together.
  • community: diligence, patience, humility.
  • freedom: "There's more than one way to do it."

notes on the notes:

  • This is an oversimplification.
  • These aspects overlap and are interrelated.
  • Are lists modern?

a few things to incorporate

  • reductionism, modernism.
  • "Do one thing, and do it well."
  • laziness, impatience and hubris.

Notes:

  • Perl culture encompasses.
  • Perl culture is neo-whatever, including neo-modern.

some things to read

  • foreword by Larry Wall (dated Sept. 1993) in the book "Learning Perl" (1st edition, 2nd too) by Randal L. Schwartz
  • article by Larry Wall entitled "Wherefore Art, Thou" in the Perl Journal (issue 1, volume 1, Spring 1996)
  • keynote address by Larry Wall entitled "Perl Culture" at the Perl Conference (August 1997)
  • essay by Larry Wall entitled "Diligence, Patience, and Humility" in Open Sources: Voices from the Open Source Revolution (January 1999)
  • talk by Larry Wall entitled "Perl, the first postmodern computer language" at Linux World (March 1999)

Notes:

  • Everthing listed here is short, that is, article length.

a view of Perl culture

Hi. Since you're reading this, I guess you are interested in Perl culture. Well, I don't have anything definitive to say about Perl culture. What I can do is tell you something about how I view it and endeavor to keep that grounded in what Larry Wall has written about it and such.

The first thing I read by Larry Wall that had to do with Perl culture was the foreword to the first edition of "Learning Perl". Yeah, I know that dates me. The foreword was to my way of thinking somewhat daring, but at the same time light and fun. He began by referring to his readers as "aspiring magicians" and talked a lot about the "Magic of Perl" and of "mysterious incantations", "strange runes", "ancient chants" and such.

Very strange stuff to find in a book about a programming language. But I liked the role of aspiring magician and accepted it.

Well, I'm big into role playing. I got turned onto role playing by my children. When they were role playing they seemed even more alive than usual. And one of the main characters I've played, over the years, is a magician, well, actually a wizard, but close enough. He's the character I feel most connected with.

That reminds me of something in the Messiah's Handbook in Richard Bach's "Illusions": "If you practice being fictional for a while, you will understand that fictional characters are sometimes more real than people with bodies and heartbeats."

Role playing is big in Perl culture. One very clear example, is Perl Monks. If you haven't, you might enjoy visiting the Monastery.

I've long felt that role playing could be really valuable. One thing the Perl community does really well is meld together role playing with what's really wanted and needed. Like I said, you might want to check out Perl Monks.

The first issue of the Perl Journal contains an article by Larry Wall titled "Wherefore Art, Thou" in which he talks of the reader/programmer as an artist. Well, I already thought of myself as an artist so I felt good about that role. He says "It's your choice -- you're the artist. You're responsible for the overall effect."

He uses music as a metaphor and talks a lot about what period or kind of music different programming languages fit with. Very fun. You want examples? OK. FORTRAN fits with classical music, PL/1 and COBOL with romantic, C with modern. BASIC is pop music, and shell programming is 1950's juke box music. He gives more detail in the article, but also points out that he's oversimplifying.

He ends up telling us that Perl is most like cartoon music and closes with "That's all folks!".

In the "Learning Perl" first edition foreword, Larry Wall also says "people have funny-shaped minds". Actually, he makes it more personal than that. He alludes to "the rather peculiar shape of your psyche." I took that to mean me. That fit with my experience.

Hm, "funny" and "peculiar" as measured by what? Well, as compared to the way computer scientists who are reductionists think of the human mind, for one thing. And I gather he's also talking about modernists generally.

So what's a modernist? Well, a modernist is something like this: serious, likes either or choices, likes to divide everything into pieces and glorify one piece, likes to hammer problems into submission and likes to enforce rules. Well, my simplified sketch is somewhat unfair. But you get the general idea. You can likely think of some examples of modernists and modern ways of thinking. I sometimes think of Eugene El Terrible.

One of the things that is kool about modernists is that they like to deconstruct things. What the heck does that mean?. In this context, as far as I can tell, it means something like

  • undermine an established way of seeing something

Deconstructing was important groundwork for creating something that's a bit different like Perl.

OK, back to those reductionist types that we were talking about earlier. They seem to be forever trying to squash our minds and smush our thoughts into shapes they feel more comfortable with. Or is that smush our minds and squash our thoughts -- I never seem to be able to remember. Either way, it's no fun if they succeed, or even if they fail.

And based on the chapter he contributed to the book "Open Sources", Larry Wall also thinks reality is a bit odd, well a mess anyway. He's quite definite about this, saying "As we all know, reality is a mess." Things that can deal well with reality like English and Perl are a mess too.

In his keynote address to the 1997 Perl Conference entitled "Perl Culture". Larry Wall said "In computer science, we do not value sloppiness. We do not value unpredictability. And we certainly don't value redundancy. ... Yet these are the very attributes that allow evolution." Excessive predictability doesn't encourage survival, besides it's boring.

Well, let's get back to that wonderful foreword to "Learning Perl". In it, Larry Wall talks about how he created Perl by combining aspects of different languages. He talks of creating an amulet (Perl) by melting together a "bunch of beads" (aspects of various language) using an "old Bunsen burner". His metaphor combines magic and very physical technology we can all relate to. That Larry Wall fellow is so very kool with metaphors and such.

Now why would he want to melt all those beads together? Didn't he understand "Do one thing and do it well"? Well, who knows why these creative types do what they do? Anyway, the result speaks for itself, that is, the amulet (Perl) makes it easier to perform magic than the separate beads did, even though they were certainly very nice beads even by themselves.

Now, I think would be a good time to talk about postmodernism. Well, I'm aware that this is a subject that some people find nauseating. I'd say most except that would presuppose that the phrase would even register with most people.

Luckily for me Larry Wall gave a talk entitled "Perl, the first postmodern computer language". (Well, actually it was the first thing I ever read about postmodernism that illuminated anything for me.) Here's a definition of postmodernism he gives there: "Look at the big picture. Don't focus in on two or three things to the exclusion of other things. Keep everything in context. Don't go out of your way to justify stuff that's obviously cool. Don't ridicule ideas merely because they're not the latest and greatest. Pick your own fashions. Don't let someone else tell you what you should like. 'Tsall good." He says he got these ideas from Heidi, his daughter. Kool to have such a perceptive postmodern daughter. Anyway, that's a lot to absorb. You may want to take a look at the context.

One can contrast modernism with postmodernism. Earlier we characterized a modernist as serious, likes either or choices, likes to divide everything into pieces and glorify one piece, likes to hammer problems into submission and likes to enforce rules. In contrast a postmodernist is comic, likes to have his/her cake and eat it, shows how the pieces are related, likes to provide tools to be used freely and is generally more helpful.

Well, my point of view is that modernism is at a dead end. I'm sure glad that Perl is postmodernist. I'm also glad that postmodernism encompasses modernism rather than rejecting it completely. That's good because there's a lot that's valuable there.

One of the best things about postmodernism is that it looks at the big picture and the context.

And then there's diligence, patience and humility. I don't hear those talked about much in the Perl community. But I think they've been there since the beginning. Anyway, Larry Wall talks about them some in, ah, "Diligence, Patience and Humility", the chapter he contributed to "Open Sources: Voices from the Open Source Revolution". A really kool book. Even though most of the chapters are not postmodern, the overall feel of the book is -- well, to me anyway.

Anyway, in that chapter, Larry Wall refers to diligence, patience and humility as community virtues needed for the future evolution of the community. The values you may have heard more about are laziness, impatience and hubris. These are referred to as programmer virtues. Have they been replaced? Oh, no. The idea is to hold both sets of these apparently incompatible values simultaneously. Hey, It's a fun challenge to bring together apparent opposites.

In his talk "Perl Culture", he encourages us to move toward a culture that values giving more than acquiring. But he also points out that you can't give unless you first get.

Another value of postmodernism is freedom. It's a major Perl culture value, you know, as in "There's More Than One Way To Do It!" Hey in "Wherefore Art, Thou" Larry Wall dubs that expression a Perl slogan. It's sure been repeated enough times.

It's part of the Perl culture that it's OK to use Perl even if you're not an expert. In "Perl Culture", Larry Wall goes so far as to say it's "Officially OK" to write Perl programs that resemble C or sed or Python or whatever.

In "Diligence, Patience and Humility", he says "Of course, in Perl culture, almost nothing is prohibited." Guess he's fairly serious about freedom and choice.

The thought that there is generally one right way to do things is alien to me. Don't get me wrong. I'm generally very interested in different points of view on the implications of doing something I'm undertaking in different ways. I'm bigtime in favor of having both insights and options.

As well as really loving to create stuff by writing Perl code, I really enjoy and learn from the Perl culture including the postmodernism and role playing and all. Perl and Perl culture rock.

Well that's a glimpse of a view I have of the Perl culture. I'm hoping Perl, and Perl culture, and postmodernism spread like wild fire. I'm doing what I can to make that happen.

Updated: 2003-03-25, 2003-04-18

Updated: 2005-01-03, 2006-08-12