Forgot your password?
typodupeerror
Perl Programming IT Technology

State of the Onion 9 174

Posted by CowboyNeal
from the straight-from-the-camel's-mouth dept.
chromatic writes "Perl.com has just published Larry Wall's Ninth Annual State of the Onion address from OSCON 2005. In previous talks, he's used screensavers, music, and Unicode to explore Perl and open source. This year, he introduced the cast of characters in the Perl community in terms of spy movies and metaphors."
This discussion has been archived. No new comments can be posted.

State of the Onion 9

Comments Filter:
  • by Anonymous Coward on Thursday September 22, 2005 @07:54PM (#13626024)
    I'm disapointed it has nothing to do with The Onion - the satirical news site.
    • Yeah, because somebody has to talk about the state of theOnion. Other than that great page from the future it's been pretty rote lately. Here I was hoping somebody had noticed and was talking about it's current abysmal state. It use to be the funniest site on the net.
    • As someone who has never heard of the State of the Onion address before this, I am SEVERELY disappointed. It was, "YES! They have STATE OF THE ONION ADDRESSES? ZOMG AWESOME!" And then. Perl? WTF x_x
  • by Anonymous Coward on Thursday September 22, 2005 @08:01PM (#13626069)
    Screensavers, music, and Unicode... and photoshopping himself into James Bond photos.

    Hm.

    Well I guess that explains then what he's been doing instead of fricking finishing Perl 6!!!

    Seriously man I have completed a college education and an entire generation of video game consoles have passed in the time that Perl 6 has been coming "Real Soon Now".
    • by Anonymous Coward on Thursday September 22, 2005 @08:06PM (#13626093)
      Actually, he was patiently waiting for you to finish your college education before releasing PERL 6. Took a while, eh?
    • Wow, an entire generation of video game consoles! What is that, six months?

    • well, it looks like Perl 6 initial release would be in 18 months, IF the language spec was done now and all effort put into Parrot. But since that isn't happening, isn't going to happen, Larry will fart around with language design for at least another year, Parrot will flounder around for another 2 or more, and maybe by 2009 or end of decade we'll have Perl 6. If you haven't gotten disgusted and moved to Python or Ruby by then, that is.
    • by chromatic (9471) on Thursday September 22, 2005 @08:47PM (#13626262) Homepage
      Well I guess that explains then what he's been doing instead of fricking finishing Perl 6!!!

      The sinister Perl 6 cabal briefly debated unlocking Larry from the chains holding him to his desk for 23 and a half hours every day until the first stable release so he could respond, but this comment has given us a much needed sense of perspective: some random jackass on the Internet has nothing better to do than complain. It's back to the salt mines for Mr. Wall!

    • by lullabud (679893) on Thursday September 22, 2005 @08:57PM (#13626293) Homepage
      From my understanding of the situation, it's not his position to be finishing Perl 6, it's the communities.
      "Perl 5 was my rewrite of Perl. I want Perl 6 to be the community's rewrite of Perl and of the community."
      --Larry Wall, State of the Onion speech, TPC4
    • by CyricZ (887944) on Thursday September 22, 2005 @08:57PM (#13626296)
      Forcing people to work is not the open source way. If he wants to work on Perl 6, then he'll do so. If he'd rather play around with Photoshop, then he'll do that, too. To suggest that he should be forced into working on his open source project, a project that has been a godsend for hundreds of thousands of programmers over the last decade and a half, is just plain ignorant. That's just not how things work in the open source community. Contributions are valued and appreciated, but nobody is forced to contribute.

      • If he'd rather play around with Photoshop, then he'll do that, too.

        Not only that, but he stays right away from the standard powerpoint presentation, complete with COTS clip art {shudder} and marketing gloss.

        His style encourages people to think about what they are listening to.

        Good on him.

      • s/has been a godsend for hundreds of thousands of programmers/has fooled hundreds of thousands of programmers into using an inappropriate tool/

        Perl6 is, in my opinion, a mistake. Probably perl5 was also a mistake (I've written many tens of thousands of lines of code in Perl5, and work with it full time, so I have some idea what I'm talking about). Perl4 was decent, for doing what Perl4 was used for - the Perl5 extensions make it *seem like* Perl is usable for more tasks. Actually, it IS usable for more t
    • Larry Wall, I demand that you stop having fun and get back to writing free software for me at once! Your Fan, M. Piedlourd
    • who cares. PHP has surpassed perl by leaps and bounds. Perl needs to go backwards. it needs to be cleaned up and tightened down. Perl really needs to become the scripting language for embedded devices. That is where it could really shine.

      Unfortunately it's bloatware now. Perl is a nightmare and large projects based on perl are even scarier.. (look at the web portal metadot... omfg that is a horrible bastardization) you need to take 10 times the number of steps to do something in Perl than what you ne
      • I don't think you understand either PHP or Perl 6. Compare the count of core operators, for example, and consider that despite a few stabs at CLI use and GUI programming, PHP is not a general purpose programming language in any sense that Perl is.

      • by Nataku564 (668188) on Thursday September 22, 2005 @09:42PM (#13626479)
        What, you dont like objects?

        Quite frankly, a cleaned up object model is just what perl needs. Well, in addition to some standardized handling of threads, and some other features that most OO languages have.

        Perl isn't Ruby. Perl isn't Python. Perl isn't PHP. Perl is its own animal/vegetable/mineral. It may not be your cup of tea, which is quite obvious, but thats a Good Thing. It means that Perl isn't giving into peer pressure from other programming languages and simply becoming a weak amalgam of language X/Y/Z with a few more dollar signs strewn about.

        I like Perl. It truly makes coding a fun event for me. I am not bound by many of the restrictions of other languages, unless I want to be. It allows me to write a program in a form that more closely resembles the ideas and designs I have in my head than any other language I have tried.

        Go Perl.
        • by Anonymous Coward
          but its way too big. it's redicilous how much you need to run those perl scripts. I should be able to fit the default perl install in a 15 meg amount of space. really I should be able to then add in the extras I need. but right now perl take at least 30meg and counting... also most projects using perl have a dependancy hell that makes newer C++ apps look like they are trimmed down.

          I really agree with lumpy. but then I also think that PHP and python are getting too bloated as well. keep the core clean an
        • Do you actually know Ruby? I know both, I program in both (mostly in Perl, for what-pay-my-bills reasons), and I've hardly ever found anything that I could express easier in Perl than in Ruby.

          If there are things, I'm really curious to hear about them, as that should mean that there's some interesing Perl paradigms I don't know...

          Eivind.
          • Maybe its easier to type, but this seems awkward to me:


            a = %w( ant bee cat dog elk ) # create an array
            a.each { |animal| puts animal } # iterate over the contents

            5.times { print "*" }
            3.upto(6) {|i| print i }
            ('a'..'e').each {|char| print char }

            ARGF.each { |line| print line if line =~ /Ruby/ }
            • I'm not with you - compared to what? The corresponding perl is

              @a = qw( ant bee cat dog elk );
              foreach my $animal (@a) {
              print "$animal\n";
              }

              for (my $i = 0; $i < 5; $i++) {
              print "*";
              }
              # ... or ...
              foreach (1..5) {
              print "*";
              }

              for (my $i = 3; $i <= 6; $i++) {
              print $i;
              }

              # Using implict variable $_
              foreach ("a".."e") {
              print
              }

              while (my $line = <>) {
              print $line if $line =~ /Perl/;
              }
              # ... or, using implict variables ...
              while (<>) {
              print if /Perl/;
              }

              The last one is definately more convenient in

      • I agree with chromatic: you obviously don't know a thing about Perl. And I'm not just referring to the technical level here; you probably could code a simple program in Perl, but you'd be working against the language instead of *with* the language, because you ultimately don't grok either Perl or its principles or the community behind it.

        Go and play with PHP, kid. :) You think you may have known Perl, but you really never did.
    • by Hosiah (849792) on Thursday September 22, 2005 @11:42PM (#13626917)
      in the time that Perl 6 has been coming "Real Soon Now".

      I know replys that begin "you should be thankful, imagine if..." suck, but:

      Be a Python programmer for awhile and see the *other* extreme: a programming language that never stops being a moving target! Wrote a program in Python yesterday? It's outdated, they no longer use that function, you gotta re-code it. Should you do it today? Nahhh, it's nearly five o'clock, better wait for tomorrow's edition of Python so we get a whole day's use out of it.

      Let's make a deal, six months out of the year, we swap Larry for Guido.

      • > Wrote a program in Python yesterday? It's outdated, they no
        > longer use that function, you gotta re-code it. Should you do
        > it today? Nahhh, it's nearly five o'clock, better wait for
        > tomorrow's edition of Python so we get a whole day's use out
        > of it.

        What are you talking about? Can you name any changes that required you re-code your python program? Python major versions have fairly regular and introduce some major features (type unification, generators, decorators etc) but I can't imagine
        • I can't imagine any thing that broke older python programs.

          Well, Blender scripts (specifically anything calling the math module) no go on 2.4, go on 2.3. To name *one* example. And what about the string/character-handling functions? Going through the docs, every other one of them has "Do not use, we're getting rid of this one." stamped all over it. Whole language has been that way since I got into it, where have you been?

      • Huh? Python is still on version 2, that's only one incompatible rewrite. Sure, 3 is coming with changes, and they will disrupt things, but they're for the better, and 2 may well still be maintained if you want to stick with that.

        I wrote scripts for python 2.1, which is IIRC a few years old, and have no problems with them today (on 2.4)

      • Mod as FUD. Give specific examples.
    • I was going to joke about how long I've been waiting for Duke Nukem Forever and TeamFortress 2... then I looked at the Perl Release History [cpan.org]. My god, I've lost my virginity, been engaged 3 different times, went through highschool, went through college, lived in 6 different houses, had about 15 different cars, had about 20 different jobs, and travelled to another continent in since Perl 5 first appeared. And I thought IE7 was a long time in coming!

      Some fun facts about 1993, the first appearance of Perl 5 (f
    • have completed a college education and an entire generation of video game consoles have passed in the time that Perl 6 has been coming "Real Soon Now".

      C'mon Everyone Knows that he's waiting for Duke Nukem Forever to release perl 6!
  • by CyricZ (887944) on Thursday September 22, 2005 @08:04PM (#13626085)
    Pugs is a Perl 6 implementation. It is written in Haskell. I recently fooled around with it. What did I learn? Haskell is powerful. Perhaps even more powerful than Perl. Indeed, as a long time Perl programmer I think that I will soon be abandoning Perl in favor of Haskell. Its functional capabilities are extremely useful when writing software that needs to work (think automated verification and such). And that's just the beginning. If the performance of the compiled code of GHC can be improved somewhat, then we might see Haskell revolutionize programming. It will do what Perl did in the early 1990s: open up a whole new set of development opportunities that just plain did not exist.
    • by slavemowgli (585321) on Thursday September 22, 2005 @08:37PM (#13626230) Homepage
      Functional programming has been around for a long, long time, actually, but it has never revolutionised programming, so I'm not sure why Haskell should do it now - it's been around for almost 20 years already, too.

      Not that functional languages don't have their merits, of course, but I honestly don't see why they should suddenly take over and obsolete other programming paradigms now.

      That being said, have you taken a look at Curry? It's a language that combines functional and logical programming (à la Prolog) - definitely rather cool.
      • Nobody was suggesting that Haskell is the first functional programming language. Of course not! But it has brought pure functional programming to the masses. Haskell's strong typing is a real plus.

        Why is it taking over now? It's because we hit the limits of imperative languages years ago, and we're at the point of hitting the limits of object-oriented programming. That's why we're seeing applications that were traditionally implemented in C (such as a Perl implementation) being implemented using Haskell.

        A l
        • by slavemowgli (585321) on Thursday September 22, 2005 @09:13PM (#13626356) Homepage
          Oh, I didn't mean to imply that you said that Haskell was the first functional language - certainly not. I merely wanted to point out that Haskell isn't new, so if a revolution hasn't happened yet, why should it happen now?

          I've met many people, especially at the university, who believed that functional languages were the holy grail of programming and that they would be taking over the (computer) world Real Soon Now(tm). But it's never happened, and nowadays, I believe that these people are just out of touch with reality.

          Let's face it - the IT industry is just like any other industry, especially in one regard: things usually happen by evolution rather than revolution. Traits of functional programming languages will certainly find their way into the "mainstream" (and the "mainstream" languages), but nobody'll decide to just throw out all existing code all of a sudden and reinvent everything from the ground up in a new language - no matter how good that language is or, more important, how much better it is than the existing languages. Even object-oriented programming is really an extension of the imperative programming paradigm, not a replacement.

          Paradigm shifts do occur, but they occur over time, and it's a smooth transition, not an abrupt one. Statements like "we've hit the limits of imperative languages" may sound cool, but they ultimately don't mean anything - the limits are changing. Boundaries *can* be pushed, and *that* is something that is *especially* true in the computer industry in general and the software industry in particular.

          I won't deny that I'm not a fan of functional programming languages myself, of course. Personally, I think they're rather unnatural; it may be easier to model their semantics mathematically (and the mathematical models will be more "natural", too), but I also think that the step-by-step approach of imperative languages is more natural for the human mind - it's how we do things, and that's probably why imperative languages took off when functional languages didn't (and for the record, both functional and imperative programming language started at the same time, in the mid-50s, and the theoretical foundations, in the form of Turing machines and lambda calculus, also popped up at about the same time).

          Nevertheless, I do realise that functional programming languages have some very interesting and useful features, and I'm certain that these will be incorporated into existing languages (or new languages based on existing ones, in the sense that Java is a new language based on C, for example) eventually - and that's a good thing. Pure functional programming, however, will (IMO!) always remain a specialised niche for certain, mostly mathematical (that is, theoretical) problems that naturally lend themselves to being modelled in functional ways.
        • brought pure functional programming to the masses
          Disagree.
          The masses are about procedural programming, not functional.
          Functional programming, IMHO, has a longer learning curve, and not all brains can do it as quickly, if ever.
          This is more my empirical observation than an elitist assertion.
      • There's another language that combines functional and iterative programming - it's called Perl.

        This book [amazon.com] is a good reference on Perl's functional capabilities.
      • FP strikes back (Score:2, Informative)

        by SolitaryMan (538416)
        I honestly don't see why they should suddenly take over and obsolete other programming

        I'm not sure about "obsolete" thing, but functional programming strikes back -- that is for sure. Why I say that? First, because I've learned from pugs the same thing: Haskell is powerfull. And there are many other guys, so haskell bacame more popular, thanks to Pugs and Autrijus Tang, its leading developer. Second, new programming languages are adopting functional features: map, reduce, lambda in python for instance. T
    • I think Haskell has lots of potential, but it has some usability problems: its syntax is highly unfamiliar and error prone for mainstream programmers, and some concepts are just packaged badly (e.g., monads). Also, it's type system is probably more complex than people can handle.

      A dynamically typed lazy functional programming language might be a better start towards popularizing functional programming.
    • Pugs is a Perl 6 implementation. It is written in Haskell. I recently fooled around with it. What did I learn? Haskell is powerful. Perhaps even more powerful than Perl.

      Perl was never about raw power. Perl has always been about providing quick access to stuff you need often: hash tables, regular expressions, plowing through files, and so on. Haskell is a more powerful language on a fundamental level, but not on the day-to-day usability level. They each have their uses.
    • I started learning Haskell because of Pugs, as well. I agree with you. Haskell is more interesting and intriguing than Perl to me. I doubt that it will cause a revolution, though. I think one of your other responders hit it on the head: imperative programming is easier to pick up because it's just giving a list of instructions. People who don't have formal training in programming will be much more comfortable with a setup like that then trying to reason about abstract models, even if they are more powerful.
  • by knightinshiningarmor (653332) on Thursday September 22, 2005 @08:06PM (#13626090)
    you read the summary and get the impression that President Larry Wall just gave the 9th State of the Union address and he loves pearls and onions.
  • Finally! (Score:4, Interesting)

    by erikharrison (633719) on Thursday September 22, 2005 @08:10PM (#13626116)
    Last couple "State of the Onion" addresses have been pretty bad - understandable, as Larry was getting increasingly ill, and Perl 5 was solidly in the hands of P5P and Perl 6 not yet pushing anything out.

    Just started reading this one, and it is delighting me by not giving me the impression Larry is on his deathbed.
  • Oh geez... (Score:5, Funny)

    by gbulmash (688770) * <semi_famous@ya[ ].com ['hoo' in gap]> on Thursday September 22, 2005 @08:15PM (#13626139) Homepage Journal
    This is the first "State of the Onion" I've read, and probably the last. Lots of inside jokes and veiled allusions that the casual Perl dabbler just ain't gonna get.

    With how inaccessible and cryptic it was, you'd think he'd written it in [insert name of programming language here]... ba-dump-bump.

    - Greg

    • With how inaccessible and cryptic it was, you'd think he'd written it in [insert name of programming language here]... ba-dump-bump. (emphasis added)

      Actually, I would expect that language to be Perl.

  • This particular insight into the perl community had me chuckling at my desk.

    I'm not exactly sure where I fit in, or anyone else for that matter, but hey - Wu-Li's word is like gold.

    I've got high hopes for Perl6 - time will tell whether it's been worth the wait... (No, I haven't read the Apocalypses - I'll learn the language when it's released.)
  • Ridiculous (Score:5, Insightful)

    by The Bungi (221687) <thebungi@gmail.com> on Thursday September 22, 2005 @08:34PM (#13626214) Homepage
    I'm sorry, but a lot of people are waiting for Perl6 and he has photoshopped James Bond, witty dialogue about nuclear weapons and faux videogame graphics. Parrot has been in alpha for what, 5 years now?

    Perl can't continue to subsist solely on its established reputation of being the internet's 'glue'. An entire generation of developers have moved to other languages and frameworks. It looks more like Perl is going to end up as the next COBOL.

    The world is moving on.

    • Don't forget that COBOL is still used today. It doesn't have the momentum it once had, of course. Perhaps you're right. The very same thing might happen to Perl. It won't be as widely used as it once was, but it will still be very useful to a lot of people. And it will be maintained, and there will be updates.

    • This isn't like going from Perl 5.7 to 5.8, there are *large* changes in Perl 6, not something you can do overnight.
    • A lot of small time hackers think that if they picked python or ruby for their pet project instead of PERL than all of sudden everybody has done so and the language is going to die. Its simply not true. There are more jobs with PERL as requirement than there were anytime before and the usage of PERL overall is still growing. Its actually quite acceptable language of choice now that the Java hype has passed.

      The fact is that alpha-geeks are moving on to the next new and cool technology or language out th

    • I like Perl, but I honestly don't see why anyone's waiting for Perl 6. Anything i want to do with Perl I can do just fine with Perl5 anyway. And a whole new, incompatible perl version doesn't seem like any big advantage to me.
      • Re:Ridiculous (Score:3, Informative)

        by MadAhab (40080)
        Actually, backwards compatiblity with Perl 5 is a key design feature. But looking at how Perl6 handles class members, accessors, methods, arguments, overloading, inheritance, etc, etc, it's clear that there's a lot to be excited about. It just makes programming easier and more powerful, without (like Java) swallowing the OO koolaid so uncritically that simple things are made hard because "classes good, operators bad".

        Python is a nice language, but it suffers actively from design features that simply try t

        • Good comment, Ahab, and I'm glad compatibility is a design feature. But, call me conservative --

          My perl scripts are never object oriented. If I wanted a full-blown class-inheritance system in my scripts, I wouldn't be writing scripts.

          So class members, accessors, methods, etc are completely beyond anything I'd ever use, and completely not exciting to me. If I want to deal with that stuff, I write in Java or C#.

          I may be alone, but I suspect a lot of people use Perl as a quick 'n dirty scripting language to
  • by istartedi (132515) on Thursday September 22, 2005 @09:23PM (#13626396) Journal

    Job security, that is. It was so easy to write "job security applications" in Perl that even PHBs caught on to it. The next web scripting language should be based on a very careful study of how obtuse the syntax can be before the cost of maintaining it will be enough to make IT managers cry "enough is enough!" and throw out the entire application. And yes, although I was not the actual maintenance programmer on a Perl app, I was close enough to those who were to understand what had happened, The nature of Perl is such that it was probably not intentional. I mean, it looked like the code was well organized, but no God help anybody who wanted to change it.

  • Unless... (Score:3, Informative)

    by sootman (158191) on Thursday September 22, 2005 @09:28PM (#13626424) Homepage Journal
    ...he can top "Perl6 will give you the big knob [slashdot.org]," I see no reason to tune in. :-)
  • Check this out: http://channel9.msdn.com/Showpost.aspx?postid=1146 80 [msdn.com] and make sure you watch it to the end.

    INSANE stuff. MSFT may have a winner with that one.
  • pageturning issues (Score:2, Interesting)

    by zoogies (879569)
    Am I the only one for whom the "next" completely fails at life and the internet? It's not just that, sometimes clicking on the page numbers does it too - sometimes. A firefox thing, or is it their fault?
  • What, exactly, is wrong with "Spectre" ???
  • I don't get it (Score:2, Flamebait)

    by idlake (850372)
    Sorry, I neither get the state of the onion, nor do I get Perl. I'm just writing a lot of Perl code again, and while the coverage of the libraries is stellar, the language itself is a constant source of irritation for me.

FORTRAN is for pipe stress freaks and crystallography weenies.

Working...