Slashdot Mirror


Larry Wall on Perl 6

Nate writes "Linux Format magazine has an interview with Larry Wall, the eccentric linguist and coder behind Perl. Larry discusses some of the new Perl 6 features ready to rock the world, and if you're not planning to move from Perl 5.8, he has a few musings on that too."

27 of 265 comments (clear)

  1. Perl is a trainwreck - retire it by Anonymous Coward · · Score: 4, Funny

    Gentlemen, the time has come for a serious discussion on whether or
    not to continue using Perl for serious programming projects. As I will
    explain, I feel that Perl needs to be retired, much the same way that
    Fortran, Cobol and C have been. Furthermore, allow me to be so bold
    as to suggest a superior replacement to this outdated language.

    To give you a little background on this subject, I was recently asked
    to develop a client/server project on a Unix platform for a Fortune
    500 company. While I've never coded in Perl before I have coded in VB for
    fifteen years, and in Java for over ten, I was stunned to see how
    poorly Perl fared compared to these two, more low-level languages.

    Perl's biggest difficulty, as we all know, is the fact that it is by far
    one of the slowest languages in existance, especially when compared to
    more modern languages such as Java and C#. Although the reasons for
    this are varied, the main reasons seems to be the way Perl requires a
    programmer to laboriously work with chunks of memory.

    Requiring a programmer to manipulate blocks of memory is a tedious way
    to program. This was satisfactory back in the early days of coding,
    but then again, so were punchcards. By using what are called
    "pointers" a Perl programmer is basically requiring the computer to do
    three sets of work rather than one. The first time requires the
    computer to duplicate whatever is stored in the memory space "pointed
    to" by the pointer. The second time requires it to perform the needed
    operation on this space. Finally the computer must delete the
    duplicate set and set the values of the original accordingly.

    Clearly this is a horrendous use of resources and the chief reason why
    Perl is so slow. When one looks at a more modern (and a more serious)
    programming language like Java, C# or - even better - Visual Basic
    that lacks such archaic coding styles, one will also note a serious
    speed increase over Perl.

    So what does this mean for the programming community? I think clearly
    that Perl needs to be abandonded. There are two candidates that would be
    a suitable replacement for it. Those are Java and Visual Basic.

    Having programmed in both for many years, I believe that VB has the
    edge. Not only is it slightly faster than Java its also much easier to
    code in. I found Perl to be confusing, frightening and intimidating with
    its non-GUI-based coding style. Furthermore, I like to see the source
    code of the projects I work with. Java's source seems to be under the
    monopolistic thumb of Sun much the way that GCC is obscured from us by
    the marketing people at the FSF. Microsoft's "shared source" under
    which Visual Basic is released definately seems to be the most fair
    and reasonable of all the licenses in existance, with none of the
    harsh restrictions of the BSD license. It also lacks the GPLs
    requirement that anything coded with its tools becomes property of the
    FSF.

    I hope to see a switch from Perl to VB very soon. I've already spoken
    with various luminaries in the Perl coding world and most are eager to
    begin to transition. Having just gotten off the phone with Mr. Alan
    Cox, I can say that he is quite thrilled with the speed increases that
    will occur when the Linux kernel is completely rewritten in Visual
    Basic. Richard Stallman plans to support this, and hopes that the
    great Swede himself, Linux Torvaldis, won't object to renaming Linux
    to VB/Linux. Although not a Perl coder himself, I'm told that Slashdot's
    very own Admiral Taco will support this on his web site. Finally,
    Dennis Ritchie is excited about the switch!

    Thank you for your time. Happy coding.

  2. The Perl 6 VM is Parrot by YA_Python_dev · · Score: 5, Informative

    The virtual machine that will run Perl 6 is Parrot, an innovative register-based JITed VM optimized for dynamic languages.
    It can also run a subset of Python (compiled with Pirate), Ruby, Tcl, brainf*ck, Ook!, Common LISP, BASIC, Lua, m4 and a few others, all of which are more or less incomplete.

    More details on the Parrot site and the Wikipedia page on the Parrot VM.

    If you like that sort of things, you can help!

    --
    There's a hidden treasure in Python 3.x: __prepare__()
  3. Why I like Larry Wall. by AltGrendel · · Score: 4, Insightful
    We're not interested in telling people what they can't do.

    I like that.

    --
    The simple truth is that interstellar distances will not fit into the human imagination

    - Douglas Adams

    1. Re:Why I like Larry Wall. by code65536 · · Score: 3, Interesting

      Me too. :) And expanding that wonderful philosophy to the language itself, that is exactly why I don't like Python--I like the freedom of Perl (even if it results in syntactical messiness... but that freedom of expression leads to some of the most elegant code in the world, in a non-syntactical sense). I don't want some paternalistic syntax dictating how I should best express using the langauge.

    2. Re:Why I like Larry Wall. by asdfghjklqwertyuiop · · Score: 3, Insightful

        Me too. :) And expanding that wonderful philosophy to the language itself, that is exactly why I don't like Python--I like the freedom of Perl (even if it results in syntactical messiness... but that freedom of expression leads to some of the most elegant code in the world, in a non-syntactical sense). I don't want some paternalistic syntax dictating how I should best express using the langauge.


      The freedom of the language has nothing to do with its syntactic cleanliness. I don't know what makes you say Python dictates how you express yourself. If you had said Java instead I might agree more. Python is very clean and simple, but dictates very little at a higher level.

    3. Re:Why I like Larry Wall. by hackstraw · · Score: 3, Interesting

      We're not interested in telling people what they can't do.

      And on the same vein, "There is more than one way to do it".

      I love Perl.

      Is it pretty? Not really.

      Does it do OO? Pretty much, but its not pretty.

      Can it go from a one liner to a pretty large app? Yup.

      Is it portable and extensible. Hell yeah.

      Is it fast? Fast enough. -- I remember on older machines you would run a perl script, and you could "feel" it compile itself by a slight lag before input or output, but I only notice a lag on machines that have not used that perl app yet (not cached) and uses tons of modules or whatever that need to be found on the disk. Once the program has been run, it starts as fast as any other. The runtime speed is anywhere between much slower to 4x slower than C or C++, but being that it usually takes 10x time to write C or C++ that Perl can do better, I'll go by the maxim of optimize later if needed.

      I've not looked into Perl 6. 5 is fine with me. 6 embeds 5, so there is supposed to be no or very little backwards compatibility issues. 4 was not that good compared to 5, and the compatibility was not as good. Yuck, those people who still do &subroutine(); Thankfully, I don't see module'subroutine() syntax any more if it is still even supported (I think I remember the syntax correctly).

      Perl is very powerful. Not the right tool for every job, but many of them. For most everything you want to do, there is a module that can be easily and portably installed (or 2 or 3) that can reduce the "reinventing the wheel" issue. The CPAN module and module dependancy can not be as fun as apt-get install CGI.pm, but perl is excellent and I hope it does not become an "old school" language. Its simply too easy to start to use, and go from there.

  4. Re:Full article text by gowen · · Score: 5, Funny
    you have to buy the magazine to get the full text...
    And yet you felt the need to copy and paste the bit they gave you, and title it "Full Article Text".

    You sir, are a cretin.
    --
    Athletic Scholarships to universities make as much sense as academic scholarships to sports teams.
  5. Hard Enough to Understand by Anonymous Coward · · Score: 5, Interesting

    I'm not going to debate the fact that Perl is an immensely powerful language. It can do an amazing amount of stuff...but I'm worried about giving the programmer control over the actual grammar of the language itself. It seems that that will cause some of the same issues that C macros can cause (which is why Java doesn't include them), in terms of making the code just next to impossible to follow. Perl is hard enough to maintain with how obfuscated it can get. I'm not sure this is going to help.

    1. Re:Hard Enough to Understand by Anonymous+Brave+Guy · · Score: 3, Insightful

      Then again, it could also cause some of the issues LISP macros can cause. Powerful language features aren't inherently bad things, but powerful language features in the hands of unskilled users are dangerous things, so it depends a lot on who you're trying to help.

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
  6. Terrorists caused book sales to plunge by digitaldc · · Score: 4, Funny

    O'Reilly had run into really tough times because of the plunge in book sales, which was already starting before 9/11 but very much accelerated at that point.

    I remember on 9/11 thinking: That's it, I will never buy any more books! The terrorists have won.

    --
    He who knows best knows how little he knows. - Thomas Jefferson
    1. Re:Terrorists caused book sales to plunge by skribble · · Score: 3, Insightful

      Well actually that's apparently exactly what happened. Maybe not just to computer books, it could have been more of a global . o 0 { I'm not buying anything except bottled water, canned food and shotgun shells } but it certainly had a hugh effect on computer book sales. Part of this was happening anyway, it -seemed- when the burst of the .com bubble stifled innovation and there just wasn't anything that new that people needed a book to learn. While that was true to a point what really was going on was that people needed to learn different things and no publisher was providing it (and largely still don't today). In overly simplistic terms, the bulk market shifted from how do I use my computer to how do I accomplish "x" with my computer. It's also important to realize that the "x" changed too. Most publishers on a whole still don't get this (some do, but the industry on a whole is very reactive so change is slow). O'Reilly has been burned by this just like everyone else. While there is still a good market for well written programming books which has traditionally been O'Reilly's market (and has saved it many times since it traditionally avoided the fickleness of end user consumers) even that is changing. Right now to try to save themselves most Publishers are just attempting to do the same thing by making superficial changes in how books look and selling this facelift as the next big thing ("Head First Java" anyone?) The problem is these books still teach the same old topics which have diminishing interest. It's not the approach... Heck.. IMO "The C Programming language" by K.&R. is still the best computer book out there and much of that has to do with the simple presentation of the material without all the pretense and gimmicks of today. The problem isn't the approach, it's the topic.

      But a babble off on some rant... the fact remains 9/11 hurt the book industry along with everyone else, the computer book industry took an extra hit because when people started to buy stuff again they realized that none of the computer books on the shelves dealt with the topics they wanted to learn.

      --
      --- Nothing To See Here ---
  7. Parrot more interesting than Perl 6 by porkThreeWays · · Score: 4, Interesting

    For as long as I've been following Perl 6, I've felt Parrot is more interesting than Perl 6 itself. Parrot is in many ways like .net (obviously there are many internal differences, but the idea is the same). Compile to a common bytecode that a virtual machine understands. This is interesting because it already supports (albeit incompletely) more languages than .Net and is a whole hell of a lot newer. I think Parrot is going to get the attention of a great chunk of languages haven't really considered using a VM before. We could see the age of 3 common bytecodes in practice. Java VM (whatever it's called), .Net, and Parrot. Maybe one day instead of seeing "Ruby 1.8 or greater required" we'll see "Parrot X.X or greater required". It'd be nice if we actually saw the day of the Parrot VM browser plugin or (pipedream) Windows coming with the parrot VM.

    --
    If an officer ever threatens to taze you, say you have a pacemaker.
    1. Re:Parrot more interesting than Perl 6 by Jaykul · · Score: 4, Informative
      This is interesting because it already supports (albeit incompletely) more languages than .Net and is a whole hell of a lot newer

      I'm all for another multi-language VM, especially if it's built from the ground up for dynamic typing, but you're joking about the languages, right?

      I count 33 Parrot Languages (including duplicates) but only 15 that have ANY tests (even ones that fail).

      Of all the lists that I checked, the only one that short was the one for the Mono Project (and they list 13)...

      I mean, it's certainly fair to claim that Parrot is newer, if by newer you mean "still not done" (at the current rate, we might see .NET 3 before Parrot 1.0), or "released a beta most recently" (0.4 came out JUST after .NET 2 went gold). But to say it has more languages is just ignorant.

      --
      Anger is never without a reason, but seldom with a good one. -- Benjamin Franklin
  8. Re:About Larry by mike77 · · Score: 4, Funny
    He has won the International Obfuscated C Code Contest [ioccc.org] twice

    So much has now become clear about Perl!

    Don't get me wrong though, Perl is my code of choice.

    --

    --Keeping the flame wars alive, one post at a time

  9. Grammatical mutability... by Dystopian+Rebel · · Score: 5, Funny
    This lets different kinds of grammatical mutability sneak into the language, and lets people experiment with different syntaxes and different ways of attaching those syntaxes to new kinds of semantics.


    Translation: "Perl 6 code will be the most unreadable Perl ever."

    --
    Rich And Stupid is not so bad as Working For Rich And Stupid.
    1. Re:Grammatical mutability... by code65536 · · Score: 5, Insightful

      Ahem! There is a difference between syntactical messiness and semantic messiness. Perl is very ugly syntactically, but I've found it so very beautiful semantically, and its fluidity is exactly what makes Perl so perfect: it allows the fusion of functional (e.g., Lisp-like), imperative (e.g., C-like), and OO paradigms of programming. While many languages fuse the latter two (like C++), few are able to successfully fuse in the first (with things like functions being first-class expressions and something similar to an equivalence of statements and expressions) (and no, just because Python has "lambda" doesn't make it more Lisp-like in the broad picture--in fact, they are even thinking about retreating from that--grrr).

      If someone feels that using the full scope of Perl results in messiness, they aren't forced by any means to use that full scope. There are many Perl coders who limit themselves to the "C subset" of Perl. But unlike certain other unnamed languages, Perl doesn't try to play the role of parent in telling you what you can and can't express so those who are more comfortable with a wider breadth of linguistic forms can take advantage of that and make code that is, in a word, elegant.

      As for the syntactical ugliness (the $, @, %, etc.) that most people are referring to when they say that Perl is ugly... well, you learn to live with that pretty early on. But beneath that superficial ugliness lies a sparkling beautiful language.

  10. Cover Quote by holdp · · Score: 5, Funny

    The dead tree version had on the cover a very Larryish
    quote - (roughly) We have 80% of Perl6 done and we are now working on the next 80%.

  11. Re:Perl? Are you kidding me? by paradizelost · · Score: 3, Interesting

    I do think you should take a look at the web pages your looking at. as far as i can tell, the .pl at the end of the page name means it's written in perl. So, is slashdot written in perl? i think so.

    --
    "In a world without walls and fences, who needs Windows and Gates?"
  12. Re:About Larry by H0p313ss · · Score: 3, Funny

    Now that would make a great O'Reilly title:

    Application Development in Perl: Obfuscation by Design

    Forgive me Larry... I must be grumpy today.

    --
    XML is a known as a key material required to create SMD: Software of Mass Destruction
  13. it's the community by SmallOak · · Score: 5, Informative


    I think one of the strength of Perl is a very active community and, dare I say it, they are nice bunch of people.

    I have been to two Perl YAPC and found the people very helpful and very welcoming to people with limited programming background like myself.

    The other big strength of Perl is CPAN, it's like a huge store for free. I used the CPAN shell a lot at one point and I was very pleased in the way it resolved dependencies. IN general I found the documentation for the CPAN Libraries I was using very good. Your mileage may vary. Sitll I found that creating your own Classes is a bit more work than in some other languages.

    I worked on a big project that was pretty much all in Perl. How did they do it? Good old fashion project discipline. They set coding style rules (programming and indentation), Perl's Perldoc for documenting, good versioning, and object naming conventions.

  14. Re:Wow by j-pimp · · Score: 4, Interesting

    And the George W. Bush award for using 9/11 as an explanation for something completely unrelated to 9/11 goes to .... Larry Wall.

    I don't know about nationally, but there was a major recession in the NY area after 9/11 for a good year and a half. I was stuck workign at burger king at one point. Granted, I choose the worse time to drop out of college, it was even hard for a high school graduate with some college and a solid skillset at the time for entry level IT work to get a minimum wage service job.

    The company I work for now is an ISP/developmenthouse. They are based out in eastern longisland 36.9 miles from my house in Queens according to google. There business core was out east. They had inroads and a solid plan to break into Manhattan, but they were, and still are a longisland company. Before september 11th they were looking at adding phone lines. Afterwards, the phones stopped ringing. There development work almost stopped. They had to lay off several people.

    Anyway, claiming September 11th had a negative aspect on the business of computer book publishing is far from unbased.

    --
    --- Justin Dearing http://www.justaprogrammer.net/ We're just programmers.
  15. Re:Real hackers use Python. by kpharmer · · Score: 4, Insightful

    > I made it to page 149 where it says "Python uses the indentation of statements under a header to group the statements in a nested block."
    > I stopped reading and tossed the book on my bookshelf on a shelf full of unused & unloved technical manuals.

    One of the best things a programmer can do is try different languages. Try lisp, sql, haskell. Play with xml and yaml. Compare J2EE to Ruby on Rails. Try a language that doesn't use ALGOL-inherited code blocks. Just like an 80s ACM article said, the single best way to evaluate a programmer is by the number of languages they're fluent in.

    At the end of the day Python's indentation causes a few programs, but seems to solve more. It makes it hard to share source code via email. It rules out the use of tabs. I can live with those limits. On the flip side it helps reinforce readable code. That's a very good thing - and consistent with the fundamental philosophy of the lanuage: the code must be easy to maintain.

    But if you really can't get your head around that, then try Ruby. Like Python it's a well-designed, easily maintained language with a great community and future.

  16. Re:Real hackers use Python. by julesh · · Score: 3, Interesting

    I made it to page 149 where it says "Python uses the indentation of statements under a header to group the statements in a nested block." I stopped reading and tossed the book on my bookshelf on a shelf full of unused & unloved technical manuals.

    Hold on... it gets to page 149 before pointing out the most important thing to be aware of in the language's syntax? That's a terrible book. Get another one.

    Seriously, though, I was put off Python for a long time for the same reason. I've used whitespace-significant languages before (COBOL, and a functional language called Miranda) and had no end of trouble with indentation issues. But when I tried Python, it just worked, flawlessly. I've never had an issue because of indentation. The language works, it's easy to write, and programs are easier to read due to the lack of excess symbols. The syntax is very clean and readable.

  17. Re:Real hackers use Python. by simon_hibbs2 · · Score: 3, Insightful

    An interesting post for those of us interested in your personal biases, but since you didn't actualy try it out, we have no idea whether you would actualy have found it useful or easy to adapt to. I have to admit I came across discussions and introductions to Python several years before I actualy tried it out and the whitespace issue did put me off. I immagined it would be awkward to use and would overly complicate code editing. I was wrong. In practice I found it wasn't. Instead it makes the code so much cleaner and easier to read. You might have found the same thing, and you might not, but we'll never know. Simon Hibbs

  18. Plagiarism much? by daVinci1980 · · Score: 4, Informative

    You know, if you're going to steal an article, verbatim, from wikipedia.org, the least you could do is cite a reference to it.

    But in the future, maybe you should just post a link to the article instead.

    -1, Plagiarised for you.

    --
    I currently have no clever signature witicism to add here.
  19. Re:About Larry by Lost+Found · · Score: 3, Insightful

    Have you ever been in perl's guts? It shares a property of Perl that I find most interesting... when you first look at it and try to become comfortable with it, well, it makes grown men cry.

    But then you have this moment where something in your head *clicks* and then you understand... and after that it is beautiful and logical and makes infinite sense.

    It really was better than acid...

  20. Re:Isn't Duke Nukem Forever coded in Perl 6? by chromatic · · Score: 5, Informative
    Perl 6 has got to be the vaporiest vaporware out there, almost.

    Funny, I have working Perl 6 code.

    The development on this thing has been going on forever.

    Like the C programming language or Java or C++ or Python 3000 or Ruby or PHP or....

    Six really is going to be the horse developed by committee.

    What does that even mean? Is Larry a committee now? (Yes, I know about @Larry. That doesn't make a meaningless cliche mean anything.)

    How much of the stuff in there was cool back in '00 really matters now?

    Off the top of my head, cleaner syntax, better consistency, improved FFI, more powerful grammars, multi-methods, improved OO, a better VM, true garbage collection, better speed, currying, optional type inference, hyperoperators, junctions, improved reflection, integration of regular expressions and tree transformations, role-based typing, better distribution options, JIT, true macros, and built-in set operations matter. I probably missed a few.