Slashdot Mirror


Perl's State of the Onion 10

chromatic writes "Larry Wall's annual State of the Onion addresses cover subjects such chemistry, science, music, lingustics, and screensavers. They occasionally discuss Perl too. This year's, State of the Onion 10 compares raising children into productive adults to guiding the development and design of a programming language. Perl turns 19 soon; Larry says that she'll truly grow up with Perl 6."

25 of 126 comments (clear)

  1. Legal, is she? by Qa1 · · Score: 3, Funny
    Perl turns 19 soon; Larry says that she'll truly grow up with Perl 6.

    Great, so Perl 6 is legal now. Any chance of seeing her while we still have our youth?

    1. Re:Legal, is she? by Anonymous Coward · · Score: 5, Funny

      Perl just turned legal? Great. Perl has been fucking me for the last 10 years, and now I hear this. Honestly, Larry told me that she was 35! I didn't know.

  2. Summary by kestasjk · · Score: 2, Interesting

    An interesting and fun read, it lists and explains the challenges being faced with Perl 6 very well. Unfortunately it doesn't explain how Perl 6 will respond to those challenges; just that Perl 6 will be WOP (whatever oriented programming), which is more than a little vague.

    After having read it I get the feeling Perl 6 is having an identity crisis, but that Wall knows what he's doing.

    --
    // MD_Update(&m,buf,j);
    1. Re:Summary by Scarblac · · Score: 3, Informative

      To know what Perl 6 will be like, read the Synopses.

      My own reaction was more like, wow this guy really is nuts, but I really want to see what he'll manage to come up with. :-) (and I say that as a professional Perl programmer...)

      --
      I believe posters are recognized by their sig. So I made one.
    2. Re:Summary by NickFortune · · Score: 2, Insightful
      I was disappointed. Larry usually does a better job of connecting the off topic stuff pack to Perl. This time he had maybe five or six puns and that was about it. The main thing I took away from it was the big slides with whatever. That and the theme of "learning not to care"

      It all read to me as if he's disengaging himself from the Perl development process and looking forward to spending more time on Real Life. Good luck to him, if so; he's surely earned some time off to spend with his family.

      Pity about the speech though.

      --
      Don't let THEM immanentize the Eschaton!
    3. Re: Summary by jonadab · · Score: 2, Insightful

      > Unfortunately it doesn't explain how Perl 6 will respond to those challenges;
      > just that Perl 6 will be WOP (whatever oriented programming), which is more
      > than a little vague.

      Ah. What you've missed is that this is Larry's State of the Onion speech. If you want to see details such as how Perl6 will respond to certain challenges, what paradigms the language supports and how it supports them, and so on, you subscribe to the mailing lists or at least read the Synopses. If you just want to be entertained for a few minutes, you listen to the annual State of the Onion.

      --
      Cut that out, or I will ship you to Norilsk in a box.
  3. More useful stuff about Perl 6 by Ed+Avis · · Score: 4, Informative

    You can start programming in Perl 6 today using Pugs.

    --
    -- Ed Avis ed@membled.com
  4. Perl 6 might be great... not. by VGPowerlord · · Score: 2, Informative
    Perl 6 may be great. However, having read some of the docs, I don't think so.

    For example, here's two choice quotes from the Perl 6 operators page.
    • -> becomes ., like the rest of the world uses.
    • The ? : conditional operator becomes ?? !!.

    Hypocrisy in action, folks.
    --
    GLaDOS for President 2016! "Well here we are again. It's always such a pleasure." -- GLaDOS, 2011
    1. Re:Perl 6 might be great... not. by grinder · · Score: 5, Interesting

      Hypocricy? I don't think this word means what you think it means. Could you explain what you think is so hypocritical about this design decision?

      From what I understand, the Perl6 operators were chosen according to Huffman compression principles. Frequently used operators became shorter, less frequently used operators became longer.

      The bare colon operator turned out to be much more useful elsewhere. The dash-arrow operator was initially borrowed from C++, but these days, most dynamic languages all use dot for the same purpose.

      This sound more like pragmatism than anything else.

  5. Larry is boring by Eivind · · Score: 2, Interesting
    Larry Wall is just boring.

    He tries desperately hard to be creative, funny, surprising, to add new perspectives.

    Yet, when it comes down to it, he ultimately writes 5 pages of nonsense. He really does say amazingly close to nothing in all those pages. No. A large white square with the literal text "Whatever" in the middle doesn't really tell anyone anything significant.

    And no. The skills needed for successfully managing a family and raising children doesn't, infact, have much in common with those skills needed to develop and maintain a programming-language.

    Every time I read something from Larry, I become happier that I left Perl for good several years ago.

    1. Re:Larry is boring by melonman · · Score: 2, Insightful

      The large square panels are presumably slides from his live presentation. They aren't supposed to stand alone, in fact I suspect that the whole presentation would make (as much) sense without any of them.

      Personally, I find Wall's prose simply wonderful: I've been known to read entire chapters of the Camel book just for the asides. I think that to judge this presentation you have to imagine the equivalent speech about "the future of typing in C++" or "the evolution of the object model in java" and ask yourself if anyone would be awake by the end of page one. Wall is one of the few people I've come across who stands far enough back to get beyond "Side Effects Good/Bad", "Parentheses Good/Bad", "Strict Typing Good/Bad" and so on.

      And at least the man does seem to have a nodding acquaintance with other languages. Try Learning Java for the other approach, where the opening chapters compare Java with other languages, and point to several weaknesses or omissions in perl. Unfortunately, perl does all the things the author thinks it doesn't, and it did some of them before Java had crawled out of the C.

      --
      Virtually serving coffee
    2. Re:Larry is boring by mrsbrisby · · Score: 2, Interesting
      I become happier that I left Perl for good several years ago.
      We're glad you stopped programming.

      And no. The skills needed for successfully managing a family and raising children doesn't, infact, have much in common with those skills needed to develop and maintain a programming-language.
      I think programmers understood that he wasn't suggesting otherwise.

      See, there are a lot of programmers (especially those that learned in the last 5 years, but plenty still that have been working in software development for longer) that programming constructs are taxonomic so e.g. an Apple is a Fruit which is an Edible, or Apple follows the protocols (interface in Java-speak) [hasColor,hasShape,somewhatRound], and that if we can just classify everything, programming would only have to tackle new patterns and problems that have never been tackled before.

      These people are, however, wrong. Just as it is with kids, exceptions and special-cases are the norm, so it makes sense to acknowledge this.

      A large white square with the literal text "Whatever" in the middle doesn't really tell anyone anything significant.
      People have a lot of crap to do, and most of the things that they have to do, they accept a very fuzzy concept of how fast, or how clean that it has to be. They just want it done. Perl has always been good at filling that. The naysayers like to talk about what kind of a niche that is, and clarity or raw performance is much more important, but the reality remains that these niche exceptions and special cases are just so-common that they need a readily available system for dealing with them. Some people call it a programming language. Others call it Perl. Others say "whatever".

      What you meant to say is it doesn't tell you anything significant. That's a completely different thing, and it might have to do with you not being a programmer.
  6. Debugging by cerberusss · · Score: 2, Informative

    What I would really REALLY like to come with Perl isn't about the language itself, but about the tools.

    Perl has a really nice debugger, but you can't use it for debugging scripted web pages. There are solutions, but mostly they're not provided with the standard Linux distributions. I'd like some sort of online solution that doesn't require lots of configuration.

    --
    8 of 13 people found this answer helpful. Did you?
  7. Podcast by cerberusss · · Score: 3, Funny

    This is all nice, but where's the podcast?

    --
    8 of 13 people found this answer helpful. Did you?
  8. Operator Error by Killer+Eye · · Score: 4, Interesting

    While indeed Perl operators are becoming more "consistent" among themselves, I think Perl's decision to undefine decades-old comforts like the ternary operator (?:) and bit shifting () is a huge mistake. If a language wants to change these things, the results should be clearly *more* intuitive, not just different. Take Python, which recently added the following style of ternary operator: "x = 1 if cond else 2". Yes, it's not "?:", but to me it's a lot easier to understand than the equivalent Perl operator. The fact that Python was able to add a feature by reusing keywords is even better.

    Some Perl 6 additions will prove quite useful, like the zip() function (which Python has had for some time, incidentally). Some changes are moderately useful, but it is difficult to see how they are superior to Perl 5 (like getting rid of the "_" short-cut for stat calls in favor of sequencing calls). But a lot of the stuff just doesn't seem to warrant all the effort to change scripts: programmer time is expensive, and is wasted twiddling ASCII characters just because the language wants to use new characters to express *exactly the same concept*.

    In my case, I will probably look at my array of Perl scripts, and I will probably decide it is easier to finally switch them over to Python or another superior language. At least then, I will gain something for my trouble.

    --
    "Microsoft killed my company, I hold a personal grudge. I don't use Microsoft products and neither should you."-JWZ
  9. Death Valley by kahei · · Score: 2, Insightful


    There's a certain stage, for some projects, at which people realize that the Great Next Version, if it ever comes, will be too little too late, and that the action has moved elsewhere. For Perl that was 3-5 years ago. For Ruby, 2-4 years ago. For countless non-public projects, it happens; gradually, progress meetings become a bit of a joke, the smart staff get moved elsewhere, and Project Star (there's nearly always a project called 'Star') becomes something that still exists on someone's budget, but which nobody really expects to have to pay attention to. Sometimes there's a meeting about it and a status report tha reads like a State of the Onion; a bit of waffle, a few in-jokes, some words of encouragement, and then back to doing something else.

    Sometimes, this does _not_ happen. Vista (which by rights should have entered the Death Valley last year) and Java (which should have entered it after 1.2) manage to escape this fate; disappointment after disappointment they somehow stay in the spotlight, stay relevant in hearts and minds.

    The question is what to do with a project in Death Valley. In a company, someone usually eventually rolls out _something_ and declares victory so that everyone can forget about it. In open source, though, they _never_ administer the final blow. Look at CVS -- it's been in Death Valley for so long, people are beginning to think that _Subversion_ is old hat! Sure, people _use_ it, if they haven't moved on to something else yet, but the last interesting CVS news item was probably in the late 90s... and yet it jogs along... and now Perl jogs along beside it, in the gated retirement community of Open Source.

    I'm not saying it's a bad thing, but it is a definite difference between OS and commercial software; you get far more resources spent on the 'long tail' of a project's life in OS.

    --
    Whence? Hence. Whither? Thither.
    1. Re:Death Valley by 6031769 · · Score: 2, Interesting

      I agree with you entirely that the longer the "Next Great Version" takes the less will be the interest when it finally arrives, and that's generally a truism as well as applying specifically in this case.

      What differs with Perl is that Perl5 is such a good language (for those who actually use it) that its use and development will probably continue apace (as they have during this whole Perl6 dev cycle). I really like Perl, but the Perl I like is Perl5. By trying to turn it into an "all things to all people" language with the transition to version 6, it will doubtless lose a lot of that. If Perl6 ever does really officially see the light of day, I very much doubt that I will spend much time using it. Rather, the established Perl5 (and there is a hell of a lot of it about) will continue to be my primary focus.

      There are other examples of this, of course with "classic versions" of several apps (and even OSes) being run after newer versions have been produced because either the newer versions add no value or increase bloat or just take the system farther from that which it used to be (Yes, I'm talking about you, AutoCAD). There are also plenty of folks still using (even deploying) Apache 1.3 today and many of them have good reasons for doing so.

      So my point is that even though the direction and implementation of Perl6 may be flawed, it does not by any stretch mean the end of Perl as a useful and productive language with widespread appeal.

      --
      Burns: We're building a casino!
      McAllister: Arrr. Give me 5 minutes.
    2. Re:Death Valley by Anonymous+Brave+Guy · · Score: 3, Insightful

      You seem to equate a project that is no longer being significantly or quickly developed with a project that is pointless. Some of us would call tools like Perl 5 and CVS "tried and tested", "stable and reliable", or perhaps even "established standards".

      Now, me, I've followed Perl 6 development from a safe distance, reading the odd article here and there, but not spending too much time on all the details. I get the feeling that it's going to be too complicated to be worth the effort to switch, but I'll reserve judgement until there's a stable, polished implementation to experiment with.

      However, that didn't stop me using Perl 5 to develop a whole load of scripts to drive a new database system I was writing last weekend, or for that matter to write a couple of 50-liners to process some diagnostic output from the app I'm developing at work yesterday. I don't care that I didn't use the latest AJAXified web 2.0 technologies; I had a job to do, and Perl 5 let me do it quickly and correctly, which is all I ask of a programming tool.

      Incidentally, if Perl had its day 3-5 years ago, and Ruby 2-4 years ago, what do you think are the cutting edge programming languages of today?

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    3. Re:Death Valley by 0xABADC0DA · · Score: 2, Informative

      Smalltalk and LISP, obviously. Like Merlin, they were born fully formed and age backwards, getting more and more relevant as time passes.

  10. 6 - compelling reason? by scottsk · · Score: 5, Insightful

    What Perl 6 needs, and I haven't seen yet, is a compelling reason to switch. It may be better under the covers, but Perl 5 works great from a user's perspective. In fact, I've been using 4 and 5 over the past decade and a half, since '91, to craft almost everything. It's part of my nervous system. I've internalized it.

    So why would I switch to Perl 6? I'm just not hearing compelling reasons other than they've randomly changed a bunch of stuff so what I know doesn't work anymore or isn't optimal. The installed base of Perl 5 users is Perl 6's biggest enemy.

    This would be like changing vi keys to make them conform to the CUA standard or Emacs - it might be progress, but people are used to vi qua vi in its historical form and don't want progress because the standard keys are in their nervous systems now.

  11. good summary by oohshiny · · Score: 2, Insightful

    Sadly, I think that photo essay just about sums up the state of Perl these days.

    Hint: pictures of the grandkids is not what people with deliverables and deadlines want to see.

    (I probably started using Perl more than 15 years ago. Perl was the best thing since sliced bread then, because it provided a cleaner and easier to use alternative to writing scripts in combinations of shell, awk, sed, tr, and a few other command line tools.)

  12. The version after Perl 5 is Python by Animats · · Score: 4, Interesting

    Perl 6 is a step forward from a language design perspective. A big step forward. Such a big step that, if you're going to change, you may as well go to Python and dump the Perl uglyness.

    The real problem with Perl is that it's a good language for small programs, but 10,000 lines of Perl is a mess unless you're a very disciplined programmer. The "there's more than one way to do it" is hell on maintenance programmers, because they have to know everything in the language to read code. Nor is reading Perl easy. I used to need three different Perl books when doing maintenance programming, because no one book, including Larry Wall's, covered everything in the language.

    Perl made the Web happen in the same way that Basic made the PC happen. We're grateful to Larry for giving us this tool. Now it's time to retire it and look at the pictures of the grandkids. Thanks.

    1. Re:The version after Perl 5 is Python by chromatic · · Score: 2, Interesting

      I think you have a typo. Let me fix it for you:

      ... but [the equivalent in any language of] 10,000 lines of Perl is a mess unless you're a very disciplined programmer.

      Assuming, as a rule of thumb, that a line of Perl is equivalent to ten lines of C, would you expect an undisciplined programmer to maintain 100,000 lines of C code with ease? Me neither.

      The "there's more than one way to do it" is hell on maintenance programmers, because they have to know everything in the language to read code.

      No, they only have to know the idioms used in the code to read that code.

      Suppose you take a job as the Mandarin-to-English translator for a large set of documents. It helps if everyone wrote at a sixth-grade reading level. It helps if every writer used the same local dialect. It helps if you can read Mandarin. If none of those are true, you and your employer have a severe problem.

      I don't see why programming is any different.

  13. Re:Me too! by singollo · · Score: 2, Interesting

    I realize there is a range of acceptable criticism within a community, and Perl has a community that is probably more inclusive than most. However, "show me the patch" is a bit of a cop out. Don't get me wrong; it is a defensable position, but a willingness dismiss everyone without a fix makes it more likely they will go elsewhere. Look at (Common) Lisp.

    P.S.
    I love Perl and Lisp, but people tend to get defensive about sore spots. I sometimes think that it would have been easier on everyone to introduce Perl 6 as "concept car", rather than an upgrade path.

  14. Dream on by joe_n_bloe · · Score: 3, Insightful

    The real problem with Perl is that it's a good language for small programs, but 10,000 lines of Perl is a mess unless you're a very disciplined programmer. The "there's more than one way to do it" is hell on maintenance programmers, because they have to know everything in the language to read code. Nor is reading Perl easy. I used to need three different Perl books when doing maintenance programming, because no one book, including Larry Wall's, covered everything in the language.

    Having worked in a production environment where hundreds of thousands of lines of Perl written by fewer than 50 developers have run with extreme reliability 24x7 for years, supporting a company of tens of thousands of employees worldwide, I feel confident in saying "you have no idea what you're talking about."