Slashdot Mirror


Linux Journal interviews Larry Wall

jbc writes "Linux Journal's cover story for May was an interview with Larry Wall, which is now online. Some good stuff on the future of Perl, whether or not Open Source is a passing fad, and why Activestate is not necessarily evil. "

75 comments

  1. Re:PERL vs PHP by /dev/niall · · Score: 1

    It's available on every platform, it's as easy or hard to use as you want to make it, and there are literally hundreds of different ways to accomplish a task - all of them as "valid" as the next.
    It also smells great!

    --
    --
  2. Re:The problem with Perl. by pudge · · Score: 1

    # Nevertheless, Perl blows

    Huh huh, OK Beavis.


    # and I think its design philosophy is why, rather than some
    # implementation detail or other accident. It was interesting to see what
    # kind of language we would end up with with the design principle of no
    # design principles. Well, the language we ended up with is one that I
    # find egregiously bad.

    But there were and are design principles. I imagine you know this, though.


    # Obviously I was stating my opinion, not trying to offer a proof of why
    # Perl is bad.

    It was not obvious. Usually, in my experience, when intelligent people express their opinions publicly, they try to offer some reason why others should agree. I am not insinuating you are unintelligent, but the opposite: I assumed that because you are intelligent, you were trying to offer some evidence of why Perl is "bad". I assumed incorrectly. I won't do so again.


    # The ``X'' that Perl is is ``sucky.'' I hold that truth to be
    # self-evident.

    Nonsense. That all men are created equal and are endowed by their Creator with cretain unalienable rights can be said to be self-evident (and in fact, I believe it was). That Perl is "sucky" is not. Are you kidding here, or are you trying to hurt your argument^Wopinion?


    # But don't confuse the act of giving the programmer freedom of
    # expression, and the act of giving the programmer a simple, consistent,
    # easy-to-undertand tool. You can do both.

    I don't find consistency to be that important, or simplicity. Some of our more complex and inconsitent tools are our most powerful. Like Unix itself. Then again, you probably don't like Unix.

    Regardless, Perl is pretty simple. It is also very complex. It is what you want. Babies can speak English, and yet it is rich enough for the most complex expression of ideas.


    # Just because a tool is a simple
    # and easy-to-understand device (like a lever, or rope) doesn't mean it
    # restricts the artistic expression of those using it. Help, help, I'm
    # being oppressed!

    No, but a canvas and paint offers more room for expression than a rope does. That's why the Louvre has ropes protecting the paintings and not vice versa.


    # I consider simplicity, consistency, and orthogonality to be good things
    # in a tool. I think that when you want to provide a tool to solve a
    # problem, you should think the problem through, and cover all the
    # permutations. Figure out what's needed, and do it in a simple way.
    # That's not the Perl approach. The perl approach is much more haphazzard
    # than that, and usually involves a new line-noise syntax and some regular
    # expressions.

    If you are talking about the approach of some Perl programmers, that's true. If you are talking about the approach of the developers of perl, that's false.


    # Perl most assuredly does encourage a particular programming style. It
    # does this by the shortcuts it provides. Perl encourages you to think
    # about everything as text manipulation, when (news flash!) most things
    # aren't. It encourages use of regular expressions, even when they would
    # be inappropriate (which, news flash, is almost all the time.) It doesn't
    # force you, no, but it makes one path easy and the other path hard, and
    # that's all it takes.

    Perl does not encourage bad programming, it attracts bad programmers (and good ones, too). The language cannot be reasonably faulted for allowing bad programmers to program badly with ease. You are wrong to say that regexes are easier than other methods.

    And, sure, bit manipulation in Perl is not the easiest (though if you understand bits, it isn't exactly difficult, either). But substr and rindex and index and split are very simple functions to use. I daresay they are significantly easier to use than regexes. The problem with people using regexes when they shouldn't is not technical or linguistic but social. People are incorrectly taught, one way or another, to use regexes when they don't belong. Again, you're talking about bad programmers. They are bad in any language. I'd rather have bad programmers using Perl regexes inappropriately than using C pointers inappropriately.


    # Furthermore, ``There's more than one way to do it'' is not a virtue in a
    # multiple programmer environment. When someone else is going to see your
    # code (and unless you're doing an art project all on your own, someone
    # will) your responsibility as a programmer is not only to make the
    # program work, but also make it maintainable.

    You have not demonstrated that TMTOWTDI is the enemy of maintainability. Maybe it is just your opinion, but unless you are going to back it up, don't expect anyone to care what your opinion is.

  3. Yep by Anonymous Coward · · Score: 0

    As someone who got a degree in Literary Theory (BA, and MA), you're absolutely orrect, and so is Sokal.

    I knew I was in a scary field when my graduate advisor said "the future is a scary thing" and he MEANT it!

    However, fear of science really isn't the motivating factor in most of the pseudo-scientific gibberish you see lit folks spouting -- it's JEALOUSY of science. They think that, by repeating the phrases of science, they somehow imbue themselves with the aura of Science, and therefore Real Knowledge.

    After all, these are folks who seriously believe in the power of Words, and frequently seem to hold that saying something is the same as DOING something.

    Consequently, saying the words that scientists use is, to their mind, logically the same as being scientists themselves. They envy the respect that Hard Science gets, and want to get it for themselves.

    Instead, they just look stupid.

    . . . but really, I'm not bitter. I promise.

  4. Postmodern? Come on... by mikec · · Score: 2

    I use Perl a lot, and have a lot of respect for Larry Wall, Tom Christiansen, et. al. But Larry's comments about Perl being the first "postmodern" language are silly.

    The Perl motto is cute, but it implictly sets up a strawman, because no language I can think of says "There's Only One Way To Do It." All languages, including Perl, put some restrictions on the programmer. That's pretty much what the word "language" means. Yes, in Python, you have to use whitespace as syntax. Oh, but in Perl you can't use whitespace as syntax. There may be more than one way to do it in Perl, but that ain't one of them. Yes, in Lisp you have to use parentheses. Oh, but in Perl you have to use "$", "@", and "%" to start names. Unpunctuated names aren't an option! There's only one way to do it!

    Sorry for venting, but I get a little tired of the posturing in the Perl camp. They try to sell the language by implying that other languages are uncool, which is itself very uncool: "many programmers are still slaves of the cyber police." Give me a break.

    1. Re:Postmodern? Come on... by Jez · · Score: 1

      It might just be me, but I always think that "There's more than one way to do it" is implicitly followed by " as long as it's in Perl" even though I know it isn't.

  5. Re:PERL vs PHP by Tom+Christiansen · · Score: 1
    [PHP] was easier and faster than Perl for CGI stuff.
    If you haven't used the standard CGI.pm, you're missing out on some of the easy part, and if you haven't used mod_perl, then you're missing out on some of the fast part. :-)

    --tom

  6. Re:Perl is a sick,twisted,perverse,dominatrix lang by garyrich · · Score: 1

    Perl seems to my mind to actually
    help readability in many ways. the
    fact that you can tell at a glance
    that $array is a scalar variable and
    @variable is an array
    is (again depite the name) and array
    is easy.

    I do write a lot more Perl than I have
    to read but I've been told by those
    who have to maintain my old code that
    they can tell what is going on and modify
    it when they need to. It's
    the only language that I trip across
    old embarrasing code of mine in on the
    net that sucks rocks, but it does still
    work.

    The "write only" aspect of Perl can be seductive
    though. At the moment I'm writing piles
    of code for the pharmaceutical biz and I
    try really hard to write in "baby talk" so that
    if I get hit by a meteor any random hacker
    with a smattering of perl can pick it up
    and run with it, but.. jeez. I could compress
    that 200 line program down to into something
    that would fit in a .sig block and then all the
    grrls would think I was k3wl... but that's the
    Dark Side.

    garyr

    --
    -- your Web browser is Ronald Reagan
  7. Larry Wall is Cool by Elias+Ross · · Score: 3

    I think the geek and coder community needs to make a calendar of all the heros of open source, open standards, the internet, etc. Larry Wall would have to be, Mr. June or July or something.

    We could have Larry, Linus, the Samba Team, etc. A new face every month. And a couple good quotes to go along with them...

    1. Re:Larry Wall is Cool by Anonymous Coward · · Score: 1

      as long as there's no swimsuit edition.

  8. In C++, the user is always wrong! by cpeterso · · Score: 1

    I just finished reading Scott Meyers' "Effective C++" and "More Effective C++". I can assure you that the C++ user is always wrong! ;-) C++ is far too complex for mere mortals to grok. No surprise that so much "modern" software sucks!

    (If you do program in C++, I highly recommend you read Scott Meyers' C++ books. They are indispensable.)



  9. Re:Python and Orwell by AMK · · Score: 1
    (Since when is Eiffel a scripting language? Tsk, tsk, MJR...)

    I was more surprised to see Wall focus on the rather minor feature of whitespace; syntax is only part of design philosophy, and Python's primary feature isn't its use of whitespace, any more than Algol-68's primary feature was its introduction of the "fi" keyword. Instead, Python's primary idea is really namespaces. Modules are namespaces. Classes are a bunch of namespaces with rules on how to look through them, and instances are namespaces on top of classes. It's noteworthy that Python's object model could be mapped to Perl fairly straightforwardly, influencing Perl 5's OO features.

  10. Re:Python and Orwell by toriver · · Score: 1
    However, I think LW's point comes down to the sheer pointlessness of the whitespace construction in Python, almost syntax for syntax's sake.

    Rather, it's a consequence of the observation that people indent their programs anyway, even though in the languages which use various symbols for marking "blocks" (whether {/}, begin/end, if/fi/do/done, ...) don't require it. You could say Python enforces the readability people normally would add to their code.

    (The only reasonable argument against it, IMHO, is that it makes looking for "block end" slightly more difficult than to look for '}'.)

  11. Python and Orwell by Anonymous Coward · · Score: 0

    The following question and answer really make
    Mr. Wall seem foolish. Whitespace in Python == A boot coming down in the face of mankind, forever?!



    Marjorie: In what way is Perl better than other scripting languages such as Python and Eiffel?

    Larry: Perl is unique, not just among scripting languages, but among computer languages in general. It's the only computer language consciously and explicitly
    designed to be postmodern. All other computer languages are still stuck in the modern era to some degree. Now, as it happens, I don't normally use the term
    ``postmodern'' to describe Perl, because most people don't really understand postmodernism, even as they embrace it. But the fact is that American culture has
    become thoroughly postmodern, not just in music and literature, but also in fashion, architecture and in overall multicultural awareness.

    Modernism was based on a kind of arrogance, a set of monocultural blinders that elevated originality above all else, and led designers to believe that if they
    thought of something cool, it must be considered universally cool. That is, if something's worth doing, it's worth driving into the ground to the exclusion of all other
    approaches. Look at the use of parentheses in Lisp or the use of white space as syntax in Python. Or the mandatory use of objects in many languages, including
    Java. All of these are ways of taking freedom away from the end user ``for their own good''. They're just versions of Orwell's Newspeak, in which it's impossible
    to think bad thoughts. We escaped from the fashion police in the 1970s, but many programmers are still slaves of the cyber police.

    In contrast, postmodernism allows for cultural and personal context in the interpretation of any work of art. How you dress is your business. It's the origin of the
    Perl slogan: ``There's More Than One Way To Do It!'' The reason Perl gives you more than one way to do anything is this: I truly believe computer programmers
    want to be creative, and they may have many different reasons for wanting to write code a particular way. What you choose to optimize for is your concern, not
    mine. I just supply the paint--you paint the picture.

    1. Re:Python and Orwell by Fizgig · · Score: 2

      Yeah, I was wondering about that. I don't know Perl, so I can't really comment, but it struck me (as an outsider, though I do know some Python) that his earlier comment about requiring extra punctuation (is it a $?) for variables making CS people mad is exactly the same thing as Python's whitespace. But it's just an example, I suppose. He's trying to say it's postmodern. I don't quite get that, but what the hey! If Python's only limitation is that your code can't look like modern art, I can deal with it.

    2. Re:Python and Orwell by Anonymous Coward · · Score: 0

      True, Perl and Python are more alike than different. It's been said (and perhaps it's true) that if Python had come along before Perl, there'd never have been a Perl.

      However, I think LW's point comes down to the sheer pointlessness of the whitespace construction in Python, almost syntax for syntax's sake. The question that always pervades my mind is what on Earth was going through their heads when they made that decision? Can you imagine any method of block delineation that is easier to get wrong? It almost seems designed to slow people down.

      That said, I think that Python is a fine language. I still prefer Perl, though 8-).

    3. Re:Python and Orwell by Anonymous Coward · · Score: 0

      I'm no perl fan at all. And may be it's emotional,
      but after reading it, I like python more than ever :-)


    4. Re:Python and Orwell by Anonymous Coward · · Score: 0

      You could say Python enforces the readability people normally would add to their code.

      Yes. This is my (and, I believe, Larry's) point: why? Why enforce this, particularly when it's so hard to spot an error in this by just eyeballing it? It's bizarrely bondage-and-discipline for what is, otherwise, a nice language. There are far better things to enforce, with much more of a return.

      The truth is, when I'm coding, I like to choose my level of indenting for maximum readibility; the default doesn't always make sense. Therefore, (IMHO of course), removing that choice makes no sense.

      Plus, of course, you have to avoid deep nesting or you end up with wonderfully "right-heavy" code.

  12. Re:PERL vs PHP by warmi · · Score: 1

    I work with C /C++ ( used to be ASM on various platforms) and anytime I look at something written in PERL it just makes me sick. It is quite possible that this language is perfect but its syntax seem to be designed to scare off people. It sort of resembles to me output generated by encrypting software ...

  13. Perl Rules. by Anonymous Coward · · Score: 2

    Perl is the reason i started using *NIX, i switched from ASP/NT to Perl on Linux/BSD, and i have never ever, not even once, looked back.

    Once you get over the initial confusion of what all those wierd slashes mean, Visual Basic starts to look like a bad joke, at least for CGI programming.

    Larry Wall, while i have never met him, and while he may have a nasty habit of making religious references all the time, is, in my opinion, a damn good guy, who has given me the most useful software tool i ever came across.

    -Pete

  14. success despite quirks by jetson123 · · Score: 2
    I have used Perl nearly since its earliest public releases and have written a lot of code in it. I still use it as my main scripting language. I've written database management tools, pattern recognition tools, experimental design tools, and lots of CGI stuff in it (including a bug tracker).

    Perl is a very useful tool, and when it came out it was a big improvement over awk/sed/sh, and it was free to boot. That's why it succeeded. Nowadays, most people simply use it because it's there (among other things, it's the only CGI language my ISP offers).

    But far from being an advantage, Perl's haphazard error checking and "postmodern" syntax do cause problems in practice. For example, one of the big government projects Larry mentions lost a lot of data because Perl did not flag bad numerical input as an error but simply uses 0 by default (a design flaw that has since been partially corrected through addition of "-w"). And even the Perl system itself has problems with its syntax--there are many circumstances where Perl compiler or runtime error messages are way off.

    The lesson I hope budding language designers will take away from Perl is that providing useful functionality in a timely manner and a free package is more important for success than clean design or robustness. But within the constraints of time to market, one should still strive for clean, robust designs, or one should at least aim to fix things up later. To Perl's credit, many of the initial design problems have been fixed.

    And while Larry seems to think languages like Lisp and Python were designed by some CS types for thought control, reality is that, for example, Lisp evolved over nearly 40 years to meet the needs of its user community (and, in a twist of irony, Perl's syntax itself has followed a little bit of the same trajectory already; let's see where it ends up in another 30 years).

    To me, Perl succeeded despite its quirks and problems, not because of them.

  15. Regular expressions!!! by tomblackwell · · Score: 1

    The cool thing that gets everybody all charged up about Perl (at least the people I've shown it to) is regular expressions. The ability to say "hey, give me every line that has 5 entries, separated by spaces, with the 2nd entry containing either 3 letters or starting with a letter that isn't in this list" seems impressive to people who've only coded in C. It's like showing a hammer to people who've lived their lives driving nails with a pair of vice grips. A cool tool for a particular set of problems, and a decent one for lots of others. One big problem with Perl is that you may return to your code and find it utterly unreadable.

  16. Re:Perl for the Palm? by Ian+the+Terrible · · Score: 1

    Given that the Palm is far better at displaying text than graphics, I'd say Perl would be a natural for it.

    Except that writing code with Graffiti would sort of suck.

  17. Re:PERL vs PHP by Drunken+Philosopher · · Score: 1
    PHP3 is highly specialized to do Web pages. Perl is generically well suited for doing many things, including Web pages. Therefore, Perl is a more useful language than PHP3, in general. The fact that "database-driven Web sites" is an emerging technology leads us to believe that there is no date of obsolescence; however, I believe we just don't see it yet. To quote from the article:
    We've already seen the deaths of many over-specialized organisms in computing: Lisp machines, Ada chips and many so-called fourth generation languages. Any program ever written in assembly language for an obsolete architecture is now obsolete. Likewise, any program that ties its fortunes to a single operating system is likely to go down with the ship.
    Personally, I'm a big fan of ColdFusion (similar to PHP3), and currently make my living writing ColdFusion-based intra/extranets for organizations that still use NT, but I believe (as Larry seems to) that anything that can't or doesn't adapt will become obsolete (hence my Linux/PHP play-box at home.) Before getting too religious about any software or platform, remember: this rule of obsolescence applies to people as well as software.
    --

    "There is a diminishing return on caution."
  18. you misunderstand Python's indentation by jetson123 · · Score: 2

    Python doesn't force you to indent any particular amount, and it doesn't force you to indent the same amount everywhere. All it requires is that your indentation structure reflects your block structure. It appears that most people pay more attention to indentation than to syntax (consider the classic nested if/else-with-incorrect-indentation example), so arguably this is a good thing.

  19. Re:PERL vs PHP by jcounts · · Score: 1

    I was very excited about PHP when I first came across it. It was easier and faster then Perl for CGI stuff. But then I kept coming to spots where I really needed a function or language contruct that PHP just didn't have. In the end I went back tp Perl full time. it's a much more full-featured and mature language. I'm still watching PHP development closely though and may use it for other projects in the future.

  20. Re:Fundamentalist Christian by Anonymous Coward · · Score: 0

    Time to break out the Jack Chick comic books!

  21. Perl - Poor Excuse for a Real Language by chris.bitmead · · Score: 2

    Larry is a cool guy, but I really hate perl. Despite that I find myself using it - mostly because there is a perl module that talks to everything.

    But perl makes for buggy code. Languages like Eiffel have endeavoured to make coding more rigourous. And the power, conciseness and structured way of thinking of Lisp makes for elegant and thus maintainable code.

    But perl it's too easy to write bad code. In some cases it just plain encourages bad code. I think the main reason perl is popular is just because it talks to everything. And it talks to everything because it's popular. It lulls you into a false sense of security. Doing something small in perl is quick. So you start using it. Soon you're doing something big and serious and still using it. And then you're in a bit of a mess.

    If perl is post-modern - then give me modern please. The purity of careful thinking really is better than a hap-hazard, do it in hundreds of different ways thinking.

    I try to use Scheme and Guile whenever I can. I think it can do as good or better job for everything (I'm not a post-modern thinker). But to do everything better it needs to have as many modules as Perl. It's got quite a few, but not as many as perl yet. So that's why I use perl.

    1. Re:Perl - Poor Excuse for a Real Language by Anonymous Coward · · Score: 0

      I have to agree here... Perl is like duct tape. Useful for quick and dirty solutions to a lot of problems, but hardly elegant and difficult to maintain in large, long term projects. Larry might be right in saying that "there's more than one way to do it," but some ways work better than others. Besides, without some kind of rules or constraints in any system, like paint, all you may end up with is a mess.

  22. Re:Fundamentalist Christian by skizz · · Score: 1

    Yeah! One of my favourite sites! Check out The Trick! Wild!

    http://www.chick.com/catalog/tractlist.a sp

  23. Larry the Missionary by Anonymous Coward · · Score: 0

    Woah, what's up with Larry and the religious references? I have nothing against people believing whatever they want to believe, and sure don't want to start a /real/ religious war, but how exactly does a missionary become a coder?

    (Ever notice how the best coders often had career plans totally different than what they ended up doing?)

    Later,
    A.C.

    1. Re:Larry the Missionary by Gog_Magog · · Score: 1

      Since the Bible is one of the most influential books on Western Civilization, I'm more than a little suprised that biblical quotes aren't in greater use. ;-)

      They probably aren't in greater use because some people feel that if you mention the bible, or religion, in daily use, you must be a missionary or a bible-thumper. hehe

      :-)

    2. Re:Larry the Missionary by Simeon2000 · · Score: 1

      I really admire Larry Wall. I am a geek Christian too, and I must admit, in our industry it is not a very popular thing to proclaim your faith, unless you're anything but a Christian.

      Larry loves to slip in to his speeches and stuff references to what he believes. And whether you like Jesus Christ or not, you have to admit, the man is a man of integrity, and believes what he says he believes. Go big camel!
      ----- if ($anyone_cares) {print "Just Another Perl Newbie"}

      --
      warn "Just Another Perl User" if $anyone_cares;
    3. Re:Larry the Missionary by Anonymous Coward · · Score: 0

      Everytime I read something by Larry Wall, I see a gem of a person. ("my brain is conjunctive, does not seem to be disjunctive").

      I vote we add him as a mascot and a messiah of the Open Source movement. I also vote that we get rid of that other guy .. whassisname RMS.

      -- //Shrikumar
      shri@cs.umass.edu

    4. Re:Larry the Missionary by djKing · · Score: 1

      See: LARRY WALL Divine Invention Author Erik Davis talks to Perl creator Larry Wall http://www.feedmag.com/re/re172_master.ht ml Larry explains it all. Go Brother Larry! -Peace

      --
      Free as in "the Truth shall set you..."
  24. Re:Perl is a sick,twisted,perverse,dominatrix lang by garyrich · · Score: 1

    exactly. I know I've had to decode stuff written
    by psycho-looser-poor-ass-excuse-for-a-programmer.
    What I was saying is that even if they do use
    terrible names the "line noise" of perl at least
    gives you a hint. sure, $first_name could be
    a reference to an array of first names but at least its a hint.

    garyr

    --
    -- your Web browser is Ronald Reagan
  25. too critical by jetson123 · · Score: 2
    My comment above may come across as too critical, so just for clarification. What I was saying is that I think Perl has some quirks and I don't like to see those elevated to language design principles.

    But having said that, I still think among scripting languages, Perl is one of the most useful, and it gets a lot of things right, and I certainly appreciate all the effort that has gone into it.

  26. Larry Wall Interview by Accipiter · · Score: 1
    I actually picked up a copy of Linux Journal, and I encourage others to do the same. It's a nice magazine. As for the Larry Wall interview, it was pretty interesting. He really goes into depth when answering the directed questions (something you rarely find in interviews, most of which are rushed.)

    I liked the point where he was looking for a name for his language. To actually fumble through the dictionary at every 4 letter word. THAT'S dedication. :P

    "We're not just talking about dinosaurs here, but also snail darters and cheetahs and a bazillion beetles in Brazil---not to mention Visual Basic."

    HEH.

    -- Give him Head? Be a Beacon?

    --

    -- Give him Head? Be a Beacon?
    (If you can't figure out how to E-Mail me, Don't. :P)

  27. Interesting.. by Weezul · · Score: 2

    Larry has a very interesting take on language disign. I liked is postmodernism comments. Perl definitly feals more like english then other langauges, but maybe that's just because I'm addicted. I don't think, however, that we are at all ready for a ``universilly postmodern'' approach to computation or programming langauges as there is just too much which need to be rigorous. I think we will ultimatly need something more like the Lucky project for Haskell to do the parsing side anything. That is to say Larry's philosophy is importent even if we do need stronger theoretical building blocks then traditional imperitive programming provides.

    Jeff

    BTW> Lucky is a monadic parser. Monads are a very powerful way to resolve the contradictions between functional and object oriented programming philosophies. A monadic parser has all the elegance, flexibility, and raw power of a functional parser without the grammer constrains normaly imposd on a functional parser.

    --
    The Christian religion has been and still is the principal enemy of moral progress in the world. -- Bertrand Russell
    1. Re:Interesting.. by Tom+Christiansen · · Score: 1
      Lucky is a monadic parser. Monads are a very powerful way to resolve the contradictions between functional and object oriented programming philosophies. A monadic parser has all the elegance, flexibility, and raw power of a functional parser without the grammer constrains normaly imposd on a functional parser.
      Keep in mind that monadic has other meanings as well. The OED definition 1b for `monadic' is:
      of a proposition, fact, function, etc., or the predicate contained therein, when the predicate is non-relational and applies to only one subject term. [emphasis mine --tchrist]
      For example, Monadic Classes are a fancier term for Highlander Classes (`There can be only one!'). And lest you think this an irrelevant tangent, the link above actually has Perl content. [Someone actually posted a Haskell-inspired Functional.pm today, too. Funny how things show up together in more than one place all at once.]

      --tom

    2. Re:Interesting.. by Weezul · · Score: 1

      I forget the original use of the word monad, but I think it was to refer to an idea of ``soul'' and the Catholic church burnd the guy who said that.. Then Libnitz used it both in his religious philosophy and *maybe* in his philosophical justifications for his calculous. Now, the Haskell use of the word monad comes directly from Category Theory (a very abstract branch of Mathematics) which probable got it from Libnetz. I do not know why Category theory used the word monad, but their use of it has been somewhat vindicated by the ``almost soul like importance'' of the monad in solving the issue of where the state of an object is in a functional langauge. Blah..

      Anywho, the realevence of this to the programmer world is that this stuff moves us closer to a functional langauge which agree with as least part of the Perl philosophy and feal. Postmodernisn improved by modernist research.. sorta.. of couse that's not at all ruled out by postmodernism. If anything Perl's dependance on it's imperitive style is keeping it from being more postmodern. Er.. Well.. Whatever.. Maybe I'm spouting bullshit here.. I'm never quite shure about these things..

      --
      The Christian religion has been and still is the principal enemy of moral progress in the world. -- Bertrand Russell
  28. Re:Why Perl is popular by Jamie+Zawinski · · Score: 1
    That said, Perl has some nice features that could be part of any language:
    1. regular expressions and pattern matching of course
    2. automatic memory allocation and garbage collection
    3. relaxed data typing and argument passing
    4. familiar C-like syntax
    5. convenient primitives for files, lists, stacks, queues, and hash tables
    6. eval

    With one exception, you've just described JavaScript.

    The one exception is convenient access to files, and that's the killer that has prevented it from being used as a batch-mode shell scripting language until now.

    I really wish someone would fix that, because I would love to be writing scripts in JS instead of Perl. (It wouldn't take much: just a little syntactic sugar to make the act of listing, opening, and closing files be a less verbose process.)

    Here's a telling example of the differences between the two languages: both allow you to treat everything as text manipulation (streams of bytes, regexps, etc.) And both allow you to construct objects and assign them behavior and manipulate things at a high level.

    But there is a particular focus built into the language. Sure, there's ``more than one way to do it,'' but the nature of Perl, the nature of the language's shortcuts, encourages you think about things as matching patterns in text, instead of as communication between objects. While allowing both, JS focuses on the latter.

    ``All the world's a stream of bytes'' is the most horrible and damaging part of Unix's legacy. It has stunted a whole generation of programmers.

  29. Or At It. by Anonymous Coward · · Score: 1

    ;)

  30. Larry Wall's Talk on Perl as Postmodern Language by ejhp · · Score: 2

    Larry gave a great talk at Linux World on "Perl, the first postmodern computer language". The transcript is here (51kb) on the wall family website.

  31. Very good article... by vinh · · Score: 4
    I found this article very interesting, even if you're just a "Sunday" Perl programmer (like me) :)

    For those who have read _The design and evolution of C++_ by Stroustroupp (sp??) it is interesting to note that Perl and C++ share some design philosophies. Like "the user is always right" school of thought. Maybe that's why both of these languages are popular?

    Anyway, you gotta admit larry Wall has a pretty big vocabulary:
    • ...three chief virtues of a programmer: Laziness, Impatience and Hubris...
    • ...Third, I look for projects that franchise the disenfranchised...
    • ...explicitly designed to be postmodern...
    • ...free-form syntax...
    • ..I must have a conjunctive rather than a disjunctive brain...

    and etc. etc... I sure would have got higher scores in school had I used words like that! :)

    1. Re:Very good article... by Megasphaera+Elsdenii · · Score: 1

      > it is interesting to note that Perl and C++ share some design philosophies. Like "the user is always right" school of thought.

      C++ ? User always right? Yeah, right.

  32. Death to Larry Wall by RedGuard · · Score: 0

    Fellow post-modern computer scientists, despite
    his claims to have developed a post-modern computer language, Larry Wall is unable to
    break radically with cartesian rationality.
    Perl promotes a totalizing discourse which defines(!!) every statement as right or wrong syntax, privileging the white, male programmer.
    Only Visual Basic which allows development free from externally imposed structures can liberate
    hitherto marginalized voices.
    Long live goto!
    Death to Larry Wall

    1. Re:Death to Larry Wall by Anonymous Coward · · Score: 0


      Postmodernism as a field of study is a way for people with little scientific background, but much jealously or fear of science, to write pseodu-scientific nonsense about it.

      I love reading Postmodern documents that try to compare scientific theories to racism or sexuality. ("The Square Root of -1 is like a penis", or "General Relativity shows the problems Einstein had in his view of women.")

      Go do a search for Alan Sokal on the web or find his book on Amazon, it's hilarious.

      http://www.amazon.com/exec/obidos/ASIN/031219545 1/



  33. Re:The problem with Perl. by pudge · · Score: 1

    Perl is not algebra. Perl is an abstraction to a more complex system. There is not scientific reason, no logical reason, no reason at all why this is necessarily wrong or bad. You're arguing from a specific opinion and worse, arguing definitions from definitions. Programming languages are X, Perl is not X, so Perl is not a very good programming language. But what if the idea that programming languages are X is disputed? Indeed, this is the case.

    I'm not saying you need to like Perl or its design. You don't. But I would just hope that if you are going to be making a formal argument, as you appear to be doing, that you support your argument a little bit better than you have. Your definition of what a programming language should be is rejected by Larry Wall and the developers of perl, as well as many of the users of perl. So to use that definition as a basis for discussion isn't interesting.

    Of course, Perl technically _is_ a formal mathematical system. It's just a really complex one with lots of quirks, idioms, and apparent inconsistencies. But of course its _spirit_ is nothing resembling a formal mathematical system. This is a good thing, your unaccepted definition of "programming languages" notwithstanding.

    You say this fuzziness is inappropriate for a computer language. I disagree. I think it is highly apprpriate. Programming is, to me, art. It is a craft. And Perl lets me be expressive. This is important, and in my opinion, Perl's "fuzziness" is essential to the goal of allowing users to be optimally expressive. And the process of creation is just as important (to me) as the end goal.

    And since you don't give any real support for your opinion, mine is just as good as yours, except I like mine better, so I win. :)

    pudge@pobox.com
    http://pudge.net/

  34. The only time I've ever sworn at perl... by opus · · Score: 1
    ...was when developing an app that used user-input for pattern-matching. I kept wondering why things weren't working if the user didn't supply a pattern: the pattern defaulted to the null string, which to my mind should match everything!

    After a few hours of banging my head against the wall, I discover this little gem buried on p. 70 of the Camel Book:

    If the PATTERN evaluates to a null string, the last successfully executed regular expression not hidden within an inner block ... is used instead.

    D'oh!
    --

  35. use English by Des+Herriott · · Score: 1
    No, not a flame on your spelling or grammar, which is fine, but a useful tip on getting meaningful system variable names if you want them.

    perldoc English and perldoc perlvar will tell you more.

    After all, there is more than one way to do it :-)

  36. Re:Perl == postmodern if postmodern == archaic by warmi · · Score: 1

    I have excatly the same feeling about PERL. It just looks like hack, unreadable and encouraging to write cryptic code. For now I will stay with C++ and use Python for scritping stuff ...

  37. Re:Perl == postmodern if postmodern == archaic by Anonymous Coward · · Score: 0

    "arhaic?" "antiquated; no longer in ordinary use"? (And that's 40-something built-in $ variables, most of which can also be referenced with words.)
    "C is mother, C is father", but Perl's still cool (and postmodern!).

  38. Perl for the Palm? by Anonymous Coward · · Score: 1

    He mentions that he has been "playing around" with
    his Palm Pilot. Does that mean we can hope to
    see a subset of Perl on the Pilot? God I hope
    so. That would rule.

    1. Re:Perl for the Palm? by Drunken+Philosopher · · Score: 1

      Perl/TK would be perfect for the PalmPilot, but that may require a bit more RAM than they typically hold. OTOH, if 3COM wanted the PalmPilot to have thousands of craven freeware programmers writing to their platform, then that is exactly what they'd do. Hmmm....

      --

      "There is a diminishing return on caution."
  39. Re:Perl is a sick,twisted,perverse,dominatrix lang by Mark+Storer · · Score: 1

    "Perl seems to my mind to actually
    help readability in many ways. the
    fact that you can tell at a glance
    that $array is a scalar variable and
    @variable is an array
    is (again depite the name) and array
    is easy. "

    I'm going to have to object to your line of reasoning here. Any psycho-looser-poor-ass-excuse-for-a-programmer that names their variables "array" or their arrays "variable" deserves every form of torture their maintainers can dream up.

    Maintainers can get downright creative when it comes to thingking up new and interesting ways to inflict pain on the original coder. Be nice to the people who may someday have to read your code. Comments and a clean writing style are all that stand between you and a sever thwacking.

    --
    --Mark
  40. Re:The problem with Perl. by L1zard_K1n6 · · Score: 1

    Well obviously your perl code must at some point resolve to something computable.

    Programming languages let you do all sorts of things that violate "purity". What do you think a type cast is? C will let you shoe horn anything you want as long as it doesn't cause a segfault.

    Perl is by no means fuzzy. Every operation is founded on a set of principles that can be deduced by reading the source.

  41. Why Perl is popular by scruffy · · Score: 1
    I think the postmodern business is silly. Perl has to be a formal language, just like any other programming language.

    That said, Perl has some nice features that could be part of any language:

    1. regular expressions and pattern matching of course
    2. automatic memory allocation and garbage collection
    3. relaxed data typing and argument passing
    4. familiar C-like syntax
    5. convenient primitives for files, lists, stacks, queues, and hash tables
    6. eval
    For short programs and "exploratory programming", these features are nice because you can avoid tedious details (declarations, memory allocation, pointers) that get in the way of what you want to really want to think about. Larger programs, however, need more constraints to at least ensure widespread agreement on names and types and to limit unexpected behavior (e.g., an eval might do anything).

    There are quite a few things I don't like in Perl, e.g., heavy use of $_, uncommented regular expressions, and omitting optional parentheses can make Perl programs look like so much gibberish. It would have been nice if one goal of Perl was to ensure that any program looks semi-sensible to a C programmer, but I guess you can't have everything you want unless you create your own language.

  42. Larry is Cool by gavinhall · · Score: 3

    Posted by d106ene5:

    I don't know how else to say it - his presentations at conferences are so offbeat, his interviews always entertaining.

    Of course, perl is offbeat and entertaining. Its bizarre and obscure at times, but anyone who can write it with skill usually swears by it.

  43. Re:Perl is a sick,twisted,perverse,dominatrix lang by sethg · · Score: 1
    Perl seems to my mind to actually help readability in many ways. the fact that you can tell at a glance that $array is a scalar variable and @variable is an array is (again depite the name) and array is easy.
    Except that $array could also be a reference to an array.

    I've spent a bit of time beating my head against complex data structures in Perl, and while I'm sure I'll get the hang of these things eventually, I've had to make liberal use of Data::Dumper to prevent the syntax from biting me.

    Of course, since Unicode support is coming to Perl, and all of the Zapf Dingbats are in Unicode, we can just extend the syntax to...

    --
    send all spam to theotherwhitemeat@ropine.com
  44. Re:PERL vs PHP by fishbowl · · Score: 1

    Perl is a general purpose language with applications in system and application software.
    PHP only applies to web content.

    Perl is popular because of its power, extensibility, flexibility, openness, and because
    it's been well marketed (yes, even as it is free).

    --
    -fb Everything not expressly forbidden is now mandatory.
  45. Re:Fundamentalist Christian by fishbowl · · Score: 0

    I think the reason fundamentalist christians
    get such a bad rap is because many of them
    DO care if you are a homosexual or a consensual
    sadomasochist, and they literally feel that you
    would be better off dead. The most radical of
    the group should not represent the entire cult,
    but that is the way they are perceived.

    --
    -fb Everything not expressly forbidden is now mandatory.
  46. The NSA does use perl. by Anonymous Coward · · Score: 3

    I used to work for the NSA. We used Perl for scripting tasks etc. But most of our filters were done in C. When i was in Menwith Hill, we had to do Sparc Assembly as well, you should now how hard it is to write software that has to monitor gigs per seconds, you have to tune your systems to perfection.

  47. and furthermore... by Dictator+For+Life · · Score: 1
    ...what is Perl itself written in? Perl, or C? My, how orthogonal. How modernist.

    I like Perl a lot. It's easy, fast, and cool. But I too weary at times of the idea that Perl is "better" than other languages because it's so free-form.

    The only way post-modernism -- including Perl -- can really work is if there is a "modernist" foundation under it. When everyone literally abandons ethical standards (because "there's more than one way to do it"), we have chaos. So too with Perl: it is dependent upon an orthogonal OS to even run! Or shall we rewrite Linux in Perl?

    His principles can only be applied so far. Which means they're not useful for everything. Just like Perl.

    --

    DFL

    Never send a human to do a machine's job.

  48. Re:PERL vs PHP by Jon+Abbott · · Score: 1

    It's line noise!! Muhahahaha!

    $_="It's line noise!!\r"; $|=1;
    $e='s/([\x41-\x5a])(\W*)([\x61-\x7a])/\l\1\2\u\3 /g';
    print while select('','','',.1),eval $e || $e=~tr [4567lu] [6745ul];

  49. Re:Perl is a sick,twisted,perverse,dominatrix lang by /dev/niall · · Score: 1
    Perl can only be understood by its creator

    As a poor commenter myself, I can assure you that anything I write in any language is going to be difficult for someone to understand. This doesn't make my code bad, the application bad, or the language I wrote in bad. It just makes me bad! ;)

    --
    --
  50. Lisp -- you know the acronym for Lisp, right ;) by Anonymous Coward · · Score: 1

    Doing something small in perl is quick. So you start using it. Soon you're doing something big and serious and still using it. And then you're in a bit of a mess.

    I'm not really objecting to your point of view, I've used a lot of languages, and all of them have their strong (well-loved) and weak (hated) points.

    I do note though, on the particular point above, that you're not making a straight-up comparison.

    I assume that when you do something big/serious in Lisp, you're making use of various constructs in the language such as (depending on dialect) packages, closures (lambda), OO (CLOS/Flavors), etc. You could certainly write a lot of conditional sexp's instead, but you want these features expressly because they improve the quality of the code.

    Well, gee, Perl has these constructs too. (You just never see them in one-off, quick and dirty CGI scripts). It simply takes an investment of time before you learn how to use them.

  51. must be new to perl by garyrich · · Score: 1

    Perl without Larry's morality
    or oblique biblical references
    is like Python without a parrot
    skit or ip framing without reference
    to carrier pigeons.

    Really, I'm the canonical agnostic
    Secular Humanist but Larry is the
    best advertisement for Christianity
    I've ever seen. [no one ever expects
    the Spanish Inquisition - stop that
    Guido...] His faith is an intregral
    part of everything he writes. Maybe
    this is what he meant when he said
    that Perl has done more for missionaries
    than if he had become one. He is a great
    book review for his Author.

    garyr

    --
    -- your Web browser is Ronald Reagan
  52. The problem with Perl. by Jamie+Zawinski · · Score: 2
    I've met Larry a few times, and he's a great guy. His writings are always highly entertaining (I especially loved his `` perl as postmodernism'' speech, that was just hilarious. (BTW, I also highly recommend How to Deconstruct Almost Anything: Chip's Postmodern Adventure.)

    Larry has a consistent philospohy behind the design of Perl (or rather, the intentional lack of overall design.) It's an interesting idea, certainly, and one that I think hasn't been consciously applied to a programming language before. However, if Perl is the kind of language that that approach produces, then I think the experiment is a failure.

    While Larry is a smart fellow, the problem is that he is also a linguist. And having spent a few years working with linguists (doing a natural-language understanding boondoggle), my experience is that linguists should never ever be allowed near computers.

    Computer languages aren't really languages, not in the sense that linguists know languages. Computer languages are formal mathematical systems, which are a totally different beast. Computers are very literal-minded, not fuzzy at all, so one must talk to them precisely. The fuzziness that appears in human languages is inappropriate in a computer language.

    The ``language'' of mathematics doesn't have linguistic drift. Where is the ``slang'' in arithmetic? Where are the ``dialects'' of algebra? It doesn't happen, because mathematical systems exist by design, not by evolutionary pressure and random mutation.

    Accretion works well for some things, like DNA, forests, and cities. But I for one am glad that my car's engine was designed to be efficient and self-consistent, and I prefer the software I use (including languages) to be the same, rather than a sprawling Winchester Mystery House of a language like Perl.

    Of course, I end up using Perl anyway, because often it's the most convenient tool for the job for any number of not-very-good reasons. The way Perl manages to suck so bad and yet still be marginally useful is probably what makes it the perfect complement to Unix itself. Worse is Better, after all.

    Actually, now that I think about it, Tcl is even more horrible than Perl, so it's a wonder it hasn't taken over.

    Maximal obscurity! Now!

    1. Re:The problem with Perl. by Jamie+Zawinski · · Score: 1

      There is not scientific reason, no logical reason, no reason at all why this is necessarily wrong or bad.

      No, there's not. As I said, it was an interesting experiment. Nevertheless, Perl blows, and I think its design philosophy is why, rather than some implementation detail or other accident. It was interesting to see what kind of language we would end up with with the design principle of no design principles. Well, the language we ended up with is one that I find egregiously bad. Interesting data point. Let's not try that again. Acknowlege, move on.

      You're arguing from a specific opinion and worse, arguing definitions from definitions. Programming languages are X, Perl is not X, so Perl is not a very good programming language. But what if the idea that programming languages are X is disputed? Indeed, this is the case.

      And you're arguing syntax. Obviously I was stating my opinion, not trying to offer a proof of why Perl is bad. The ``X'' that Perl is is ``sucky.'' I hold that truth to be self-evident. Beyond that, I suggest that this suckiness is a result of the thing about Perl that is different from prior, less sucky languages: the fact that Perl rejects outdated academic concepts like consistency and simplicity.

      You say this fuzziness is inappropriate for a computer language. I disagree. I think it is highly apprpriate. Programming is, to me, art. It is a craft.

      And to me. But don't confuse the act of giving the programmer freedom of expression, and the act of giving the programmer a simple, consistent, easy-to-undertand tool. You can do both. Just because a tool is a simple and easy-to-understand device (like a lever, or rope) doesn't mean it restricts the artistic expression of those using it. Help, help, I'm being oppressed!

      People can live free with tools that haven't themselves gone hog-wild with baroque gilding.

      I consider simplicity, consistency, and orthogonality to be good things in a tool. I think that when you want to provide a tool to solve a problem, you should think the problem through, and cover all the permutations. Figure out what's needed, and do it in a simple way. That's not the Perl approach. The perl approach is much more haphazzard than that, and usually involves a new line-noise syntax and some regular expressions.

      And while ``there's more than one way to do it [as long as you use line noise punctuation and regexps]'', Perl most assuredly does encourage a particular programming style. It does this by the shortcuts it provides. Perl encourages you to think about everything as text manipulation, when (news flash!) most things aren't. It encourages use of regular expressions, even when they would be inappropriate (which, news flash, is almost all the time.) It doesn't force you, no, but it makes one path easy and the other path hard, and that's all it takes.

      Some people, when confronted with a problem, think "I know, I'll use regular expressions." Now they have two problems.

      Furthermore, ``There's more than one way to do it'' is not a virtue in a multiple programmer environment. When someone else is going to see your code (and unless you're doing an art project all on your own, someone will) your responsibility as a programmer is not only to make the program work, but also make it maintainable.

  53. PERL vs PHP by Betcour · · Score: 1

    Hum - I've been trying PERL for writing CGI, but switched to PHP3 real quick. Frankly, I haven't used PERL that much to talk about it, but it seems to me that PHP3 is way better, at least as for as Web development goes. Could anyone explain why PERL is so popular ? I don't really get it.

  54. Why PERL/DBI is better that PHP : by Anonymous Coward · · Score: 1

    (Sorry for my bad english, i'm french speaking)

    IMHO Perl/DBI is better that PHP :
    1) DBI Module
    With DBI (the DataBase Interface module for Perl)
    Your perl source code are independent from the Database. If your database swap from MySQL to Informix (or Oracle) You don't have to change the code. PHP use native call, it's more speeder but not very portable.

    2) Reglular Expression

    4) Modules (CGI, FTP, MAIL, IRC/API, USENET)
    A lot of interesting module are available in perl for easy Gate to do accross a Web-Database
    eg :
    Web/Database/Usenet
    Web/Database/IRC
    Web/FTP
    Web/SMS

    5) No other language to learn
    PHP is easy and work fine in Unix and NT and seem to be a easy choice for Newcommer in WebDevelopment World. but it's JUST a WebDB language.

    However, Perl/DBI a better choice for long time, and long vison project.

    Well ! i home that will help you ! :o)
    Perl/DBI users looks very rare, i'm feeling lonly on the PHP Hype :o) HEeeeeeLLPp MEEEeee ! :o)

  55. Every 4 letter word by Trurl · · Score: 1

    >To actually fumble through the dictionary at every 4 letter word. THAT'S dedication. :P

    One might assume he just used /usr/dict/words in combinarion with a little "pearl".

  56. What, outlaw syntax checking? by Monty+Worm · · Score: 1
    Hey, I'm cool with perl's syntax checking. The syntax checker is all that stops me from losing it completely. Having to order my mind enough to fight it within the syntax constraints of any given language is part of the development process, it helps me understand the problem.

    As it is, my code is getting looser and looser (is that really a word) to the point while explaining bits to my supervisor (a PhD. equipped scientist, not computing) I have to gloss over the bits that look like line noise
    "That line that says s/[\_[\. \,\?]//g; does have useful function, it does xxxx"

    At least we're writing computer code that looks like computer code, we could all be writing CoBOL, RMS protect us from that....

    --
    ... and today's pet project has ... been discarded for lack of time.
  57. Perl == postmodern if postmodern == archaic by CoughDropAddict · · Score: 1

    If "postmodern" means having 100+ 2 character built-in variables consisting a dollar sign ($) and a random punctuation mark, I'll "regress" into "modernism", thanks.

    Seriously, coming from C, Perl seems to make for needlessly archaic and unreadable code. Hard as I try, I can't get myself as excited about coding for Perl as half the open source community seems to be.

  58. Re:Perl is a sick,twisted,perverse,dominatrix lang by vladimire · · Score: 1

    Much like any other programmer, Perl can be difficult to read. However I had to maintain a couple of thousand lines of Perl code written by a couple of other people, and one of them commented well, and that made it much easier to read. So Perl being a read only language does in a large part depend on the person writing it, much like any other language.