Archive of UserLand's first discussion group, started October 5, 1998.

Thoughts on ESR and Perl

Author:Eric Kidd
Posted:8/26/1999; 12:38:22 PM
Topic:Opening Up Linux Journal and O'Reilly
Msg #:9981 (In response to 9916)
Prev/Next:9980 / 9982

(I'm speaking for myself, not for UserLand.)

On ESR

I really do like ESR; he's done a lot of good stuff over the years. In the past, he was known for several things. He wrote some good software. He edited The Jargon File, a compendium of hacker culture. He spent a lot of time encouraging new programmers to learn about LISP and UNIX. A nice guy, overall, and an insightful thinker.

When Netscape decided to open up Navigator, they contacted ESR. He'd written _The_Cathedral_and_the_Bazaar_, a modest paper about software engineering. The "Cathedral" in this paper didn't represent commercial software--if anything, it represented the insular development practices of the Free Software Foundation. I've worked with the FSF; the "Cathedral" metaphor is eerily accurate.

After talking with Netscape, ESR made a major decision. He wanted to win, and he wanted to win badly. Somewhere along the way, he turned himself into a marketing guy, and he's been endlessly repeating one message: open source. In Eric's defense, I've never heard him say something he doesn't believe. I have, however, heard him leave important things out. He presents one side of the issue, and ignores the other. Sometimes I think he oversimplifies tremendously, and I suspect he knows it.

When ESR speaks to the Linux world, we still sometimes hear his old voice. But the face he presents to the Windows world is (I think) that of a marketer, not a developer. I don't like the new ESR as much as I liked the old one, but I must admit that he has been effective in promoting his message.

On Perl

I've been using Perl for four years. I love Perl and I hate Perl, often at the same time. On the one hand, Perl is convenient, and it's great for munching text. On the other hand, Perl is very hairly and irregular. Perl's not really a hack--Larry Wall actually designed it to be irregular.

Here's the theory: Larry Wall is a linguist, and a good one. He thinks programming languages should be more like natural languages. Natural languages are irregular and crufty, but they're convenient. Natural languages also have lots of special cases, and very few people actually understand all the rules.

Perl is like a natural language. It's easy to use, but almost nobody understands the semantics. Perl is full of convenient special cases and odd irregularities. Data mysteriously changes type according to a complicated set of rules. You can be really formal and correct, or you can be sloppy and program in "Perl slang".

Now, Larry Wall has a point. Almost nobody knows the rules to English, but we all speak it just fine. Perl is popular, so many people must like irregular, non-orthogonal programming languages.

With all due respect, though, I disagree with Larry Wall. I want my programming languages to be very simple and very regular. I'm not happy unless I understand all the rules. I can understand all of C, all of Java, all of LISP, all of Python and all of UserTalk. (I can also understand nearly all of C++, but this knowledge was hard-won.) But try as I might, I just don't understand all of Perl. It's too big and too irregular to fit in my head at once.

When asked about Python, Larry Wall said: "Python is like MTV. It rocks, but after a while, it gets to be much of a sameness." In Larry's mind, sameness is a bad trait. In my mind, sameness is a good trait, at least in programming languages. There's lots of room to disagree here--we can all have the tools we like.

Cheers,
Eric


There are responses to this message:


This page was archived on 6/13/2001; 4:52:08 PM.

© Copyright 1998-2001 UserLand Software, Inc.