home " subscribe " advertise " customer service " back issues " " contacts

Sections
  Newbies
  Reviews
  How To
    Best Defense
    Guru Guidance
    On The Desktop
  Developer's Den
    Gearheads Only
    Compile Time
    Perl of Wisdom
  Who's Who
 
Indexes
  Issue Archive
  Author Index
 
Linux Magazine
  Subscribe
  Advertise
  Customer Service
  Back Issues
  
  Contacts
 
On Stands Now Click to view Table of Contents for Linux Magazine March 2000 Issue
 
Subscribe to Linux Magazine

Linux Magazine / October 1999 / FEATURES
Uncultured Perl
 
<< prev   page 01 02 03 04   next >>

PERL 1

The Baby

Perl Tim O'Reilly
A Class Act: Larry Wall's boss at O'Reilly & Associates, Tim O'Reilly.

Perl was born at an early age. I mean something specific by that.

Humans do not come from the womb with the ability to drive a stick shift. Neither did Perl. This was intentional. I've always been smart enough to realize how stupid I am, and one of the things I'm stupid about is predicting how my programs will develop over time. So Perl was equipped to learn, and have a long childhood.

We value the maturing process in our own species, but for some reason we don't like it as much in computer programs. In the absence of a handy Zeus, we like to think that computer programs should spring fully formed from our own foreheads. We want to present the world with a fait accompli. In modern terms, we want to build a cathedral.

Now let me just say that I think cathedrals have gotten a bum rap lately. Open Source advocate Eric Raymond has likened the commercial software development model to a cathedral, while he compares free software development to a bazaar.

Eric's heart is in the right place, but I think his metaphors are a little off. Most cathedrals were built in plain view with lots of volunteer labor. And most of the bazaars I've seen have produced little of lasting architectural value. Eric should have written about artists who insist on having an unveiling when their sculpture or painting is finished. Somehow I can't imagine anyone pulling a shroud off of a cathedral and saying, "Voila!"

An open source programmer is more like a public mural painter. An artist may have some idea of what he's about, but anyone walking by can make suggestions, or even help paint if the artist is agreeable. If not, he can always go paint a better mural on the other side of the freeway if he wants.

Anyway, when Perl version 1 arrived in the world, it knew it was the new arrival, not the world. It recognized that there are depths of wisdom in the world that have not yet been plumbed by computer science, let alone by Perl. So Perl played the role of a baby, and grew. Various nurturing individuals adopted Perl, and helped to raise it, because Perl was cute, and they became irrationally attached to it.

Besides, cute is cool. See penguins.

PERL 2

The Toddler

Theory is good, in moderation.

One of the ways Perl subverts computer science is by adopting theoretical axes without grinding them. The theory of regular expressions is highly developed, but typical users just want to get their work done. Perl 2 had a more powerful regular expression engine under the hood, but the idea was to make things easier for the user, not harder.

So, to effect this, I introduced many redundancies in regular expression syntax that have come to be a large part of what nowadays are known as Perl 5 regular expressions, even when they're being called from Java or Python. Yes, in Perl \d means the same thing as

[0-9]. So what? I can say "digits" in English to mean 0 through 9, without saying "0 through 9" every time. Why not in Perl too?

Moderation is good, in theory.

If you want to have a thriving open source project, then you must build a culture around it; and to build a culture, you must encourage cultural identity. That is, you must encourage a certain amount of immoderation. Call it "religion" if you will, though I think religion has gotten a bum rap too. After all, immoderation on behalf of a good cause is how saints are made.

Hence, we were immoderately evangelical about Perl. In particular, because we wanted to build a new culture, we had to pull people in from many different cultures, which oddly enough meant we had to avoid being classified as a culture ourselves for a little while.

Consequently, I refused to create a newsgroup for Perl for a long time because I wanted people to talk about how to solve their shell problems in Perl, and I didn't want Perl to become ghettoized right off the bat.

So when people would ask in the shell newsgroups how to do something, we could give them the "how to do it in Perl" answer without enduring chants of, "Take it to the Perl newsgroup!" In this way, we subverted Usenet.

(Later on, and for similar cross-cultural reasons, I started scanning my entire Usenet feed for Perl references -- I basically invented my own form of Kibology (http//www.kibo.com/) about the same time as Kibo came up with his religion of the Internet, but he got to name it. Drat. Perhaps it's just as well. "Wallogy" just doesn't quite have the right ring to it, does it?)

Anyway, I did some sneaky things to make sure Perl developed a healthy culture. While we took ourselves very seriously in some ways, we also tried to laugh at ourselves occasionally. Perl not only stands for the Practical Extraction and Report Language, but it also stands for the Pathologically Eclectic Rubbish Lister.

Anyone who can't laugh at himself is not taking life seriously enough.


<< prev   page 01 02 03 04   next >>
 
Linux Magazine / October 1999 / FEATURES
Uncultured Perl

home " subscribe " advertise " customer service " back issues " " contacts