Slashdot Mirror


The Perl 6 Advent Calendar

An anonymous reader writes "Larry Wall wasn't joking when he said that Perl 6 would be ready by Christmas. Perhaps not this Christmas, but that hasn't stopped a group of people (including head Rakudo developers Patrick Michaud and Jonathan Worthington) from putting together an Advent Calendar, featuring one cool Perl 6 feature every day until Christmas. Topics currently covered include how to get and build Rakudo (the most actively developed and progressed implementation of Perl 6) and the new Metaoperators. For those wondering when Perl 6 will be finished: Rakudo will be having its official 'production release' (dubbed Rakudo Star) April 2010."

11 of 160 comments (clear)

  1. Word on the street... by ghostis · · Score: 4, Funny

    ... is Duke Nukem Forever is being rewritten in Perl 6.

    --


    Computer Science is all about trying to find the right wrench to bang in the right screw. -T.Cumbo?
  2. Re:This has taken too long by FooAtWFU · · Score: 4, Informative
    Perl 5.10.0 was out this year, and introduced snazzy new features like the defined-or operator and easier state variables. It's not like they've been neglecting the rest of the language, and it's not like it's going to be difficult to activate backwards compatibility.

    I'd worry more about the continuing relevance of Perl in a niche which has come to be dominated more and more by PHP (eww!) and Ruby in recent years. It's not going away, certainly, but its relevance to the future of computing may be somewhat limited despite its technical merit.

    --
    The World Wide Web is dying. Soon, we shall have only the Internet.
  3. Re:This has taken too long by Trepidity · · Score: 5, Funny

    More than that--- Perl 6 was announced 9 1/2 years ago! Even O'Reilly's Perl 6 Essentials is now 6 1/2 years old, and some Perl 6 books are into 2nd editions.

  4. Re:This has taken too long by RDW · · Score: 5, Informative

    Perl 6 is a new language, not just an upgrade. Perl 5 has not been neglected, and continues to receive updates and new features (some of them originally developed for Perl 6). The plan is to continue Perl 5 support and development indefinitely, irrespective of the status of Perl 6. And of course Perl 5 has its own advent calendar, which this year focuses on interesting stuff you can do with various CPAN modules:

    http://www.perladvent.org/2009/

  5. perl 5 versus ruby versus perl 6 by bcrowell · · Score: 4, Interesting

    I do most of my coding in perl 5. Perl 5's implementation is rock-solid, and CPAN has an absolutely fantastic selection of useful modules for perl 5.

    If I was going to change to something other than perl 5, I would need some motivation. The clearest motivation I can see is that OOP in perl 5 is ugly and bolted on.

    With that motivation, I have dabbled in ruby enough to write one nontrivial app. The thing is, perl 5 still beats the heck out of ruby in terms of implementation and libraries. As an example of this, in my ruby app I wanted to use some regex features that were not available in ruby 1.8, so I ended up using ruby 1.9. But ruby 1.9, and its regex engine, are relatively raw and buggy, and I ended up having serious problems that I had to work around. (Yes, I submitted a bug report. No, it hasn't been fixed yet.)

    AFAICT, the main advantage of perl 6 over perl 5 is the same as ruby's main advantage over perl 5: OOP is implemented in a nicer way. The thing is, the disadvantages are even more magnified, because it's so raw and incomplete.

    My current reaction to the situation is to plan on continuing to code in perl 5 until, say, 2015, and then check back to see how much ruby and perl 6 have improved by then.

    1. Re:perl 5 versus ruby versus perl 6 by slimjim8094 · · Score: 4, Insightful

      How old do you think Python is? Look it up ... ... ...
      It's 18 years old. In fact, it's only 4 years younger than Python.

      I suppose you think Google, CERN, and NASA are stupid to be "using a glorified VB clone"?

      Maybe it is you that is wrong.

      --
      I have developed a truly marvelous proof of this comment, which this signature is too narrow to contain.
    2. Re:perl 5 versus ruby versus perl 6 by plasticsquirrel · · Score: 5, Funny

      Why would anyone want to use a glorified VB clone? I am sick and tired of seeing 'rock-star' Python and Ruby programmers trying to shove the new shiny toy in everyone's face. People have been using Perl for 20+ years, and they'll still be using it for 20+ years after Ruby and Python are a distant memory.

      Why would anyone want to use a glorified Unix Shell? I am sick and tired of seeing 'rock-star' Perl programmers trying to shove the new shiny toy in everyone's face. People have been using Lisp for 50+ years, and they'll still be using it for 50+ years after Perl is a distant memory.

      Now get off my lawn.

      --
      Systemd: the PulseAudio of init systems
    3. Re:perl 5 versus ruby versus perl 6 by mypalmike · · Score: 4, Funny

      (problem (((car 'some-apostrophe-shit) lisp (with #letrec foo * (lambda x) (x unmaintainable +))) parentheses (nobody-can-read-this-crap !) (worse-than (cons perl))) (interesting-cs-teaching-language cdr (though))))))))))))))))

      --
      There are 0x40000000 types of people: those who understand 32-bit IEEE 754 floating point, and those who don't.
  6. Re:still relevant? by jepaton · · Score: 5, Interesting

    Yes, Perl is still relevant to a number of software developers and systems administrators.

    It is an ideal language for software developers who want to use metaprogramming techniques (code generation; domain specific languages), text processing or data conversion, or automation of software development process. Perl 6 will have a full grammar engine (for parsing - like having YACC/BISON built in) which will make text processing even easier than before. The use of a scripting language for these tasks leaves the source code more accessible than compiled languages, which is an advantage to software developers who can adapt the code more readily than a compiled project.

    Whether Perl 6 will be used much for primary software development I don't know. My day job is C programming for embedded systems where Perl is not suitable. Desktop programming is more likely to be in C++ or C# where the standard libraries are huge and the software development ecosystem is more developed.

    The primary audience for new Perl, in my opinion, is expert software developers who need a powerful/succinct language to implement solutions to problems in the manner they think. Perl 6 therefore supports just about every programming paradigm known to mankind. What makes Perl great for software gurus is what makes it an awful language for programming newbies.

    I will be learning Perl 6, not because I will use it much, but because I will discover new ways to think about problems. Oh, and it'll be fun.

    Jonathan Paton

  7. Re:This has taken too long by RDW · · Score: 4, Interesting

    Well, the first line of the first Google hit for 'Perl 6':

    http://dev.perl.org/perl6/

    says:

    "Perl 6 is a new language. Perl 5 and Perl 6 are two languages in the Perl family, but of different lineages. There is no current release schedule for Perl 6."

    Some people, of course, may still find this confusing. These people should use Python :-)

    A longer answer (together with several chapters of new Perl 6 book written by some of the developers) is here:

    http://cloud.github.com/downloads/perl6/book/book-2009-11.pdf

    "Some might ask, 'Why call it Perl if it's a different language?' Perl is more than just the vagaries of syntax. Perl is philosophy (there's more than one way to do it; easy things easy, hard things possible); Perl is custom (unit testing); Perl is architectual edifice (Comprehensive Perl Archive Network); Perl is community (perl5porters, perl6-language). These are things that both Perl 5 and Perl 6 will share to varying degrees. Also, due to Perl's habit of stealing good ideas, Perl 5 and Perl 6 will converge in some areas as Perl 5 borrows ideas from Perl 6 and vice versa."

  8. Perl is Elegant by tjwhaynes · · Score: 4, Interesting

    Perl is one of those languages that most people meet in passing because someone else has hacked up a script to get something out of some file. Which is sad, because understanding what makes Perl different from other languages and why it is often a better choice for wrangling data isn't going to be obvious in one lousy foreach search-and-replace hack. And most people exposed to perl scripts in this manner fall over on the difference between scalar and list context and never discover why perl expressions like $lookup{$term}++ will save them years of work, while making their analysis scripts go faster.

    I write Perl modules day in, day out to cope with processing DB2 internals in an attempt to model and improve them. Object-oriented Perl makes this easy, fast and effective. Closures (which I'm sure aren't understood by 90% of the Slashdot community) back this up being able to create anonymous subroutines with data attached which can be processed later. Perl is also effective for parallel task analysis - I have modules for jobserving many tasks across multiple machines and Perl threads make it easy to fire a task off while something else is done.

    Perl is an essential part of data analysis for any serious volume of unstructured data. However, I'm not unhappy that it is little understood. Perl makes in the impossible merely hard. If everyone knew how to leverage Perl, I wouldn't have so much fun.

    Cheers,
    Toby Haynes

    --
    Anything I post is strictly my own thoughts and doesn't necessarily have anything to do with the opinions of IBM.