tags:

views:

1362

answers:

9

Perl 6 has been under development for over 8 years now, and (as ever) there seems to be no end in sight. However, it has had a reasonable implementation for some time, Pugs, and even has multiple implementations now.

When I last took a look at Perl 6 a few years ago, it seemed to me that there were lots of interesting ideas, but that everything was either changing or unspecified. As a result, I ended up picking up Haskell instead -- having been inspired by Pugs.

My current favorite languages are Perl (5) and Haskell, and I would only be doing this for side projects of my own. Is it worth playing around with Perl 6 now, or will I still be hitting a moving target that's also sometimes broken? Are the new ideas and syntaxes truly exciting?

+13  A: 

I think it's worth playing with, even if just to make you hate all other languages. :-)

There's a really good series of articles by Moritz Lenz over at perlgeek.de (in English) that address the differences from Perl 5 (many!) pretty well.

Peter Stone
+6  A: 

Absolutely. It's worth looking into what's available. If you like what you see, you can use some of the Perl 6 features now by using modules in the Perl6:: namespace such as Perl6::Slurp, which is a far better way of reading in files than Perl offers.

mopoke
+11  A: 

Personally I think Parrot will be Perl 6 most compelling feature.

A separately designed, and maintained byte code layer specifically designed for dynamic languages, prime for really good runtime optimization projects.

But I'd wait to see how that is received before anything.

kervin
+9  A: 

Absolutely, Perl6  takes everything you like about Perl 5, and cleans up the parts you don't.

For example, Perl6  actually has real classes, instead of blessed modules. It also has a more consistent use of sigils. There is also a very much improved regex engine.

Perl6  has also had an effect in the features that were put into Perl 5.10. If your only reason for investigating Perl 6, is to improve your Perl5  code, it will be worth it.

Brad Gilbert
+30  A: 
brian d foy
Your talk got me kinda "hyped" about Perl 6. And shamed me that I haven't played with Perl 5.10 yet. :-(
Jon Ericson
+7  A: 

I have been waiting and reserving judgment. In the meantime, Perl 6 very much invigorated Perl 5. For awhile I branded myself a "Fiver," against those people who wanted to slam Perl because "Perl 6 is taking forever." My explicit position has been to view Six as a completely different language, one which I might adopt some day, or not. The delivery date of Perl 6 has no more bearing on one's decision to use Perl 5 than the delivery date of the next version of .NET.

The other day I heard the first thing that convinced me that I will some day learn and use Six: rakudo (Perl 6 on parrot) could now do pre-compiled modules, and they were much, much faster than running them interpreted (i.e., compiling them from source code every time they were run). This sounds wonderful, and I'm looking forward to that performance boost, although I'm still not spending any time learning today, as Five is perfect for my needs.

In the meantime, there are lots of great new features in Five; the latest thing I've learned is Moose, which looks wonderful. Some of these features will some day be applicable to Six; although the exact forms may change, the concepts will still be useful.

skiphoppy
+6  A: 

Please see the Official Perl 6 Wiki to find the latest information:

http://www.perlfoundation.org/perl6/index.cgi?perl_6

The latest headlines from 2 leading Perl 6 blogs are shown at the bottom of the official Perl 6 wiki home page.

There's lots of other useful information and links there.

For example, recent Perl 6 articles and presentations:

http://www.perlfoundation.org/perl6/index.cgi?perl_6_articles_and_presentations

The Parrot VM for dynamic languages (to be used by Rakudo/Perl 6) also has an official wiki:

http://www.perlfoundation.org/parrot/index.cgi?parrot

Parrot is multi-lingual, so Perl 6 will be able to call modules written in other Parrot languages, and other Parrot languages will be able to call Perl 6 modules compiled to Parrot.

Unlike Perl 5, which is defined by its reference implementation, Perl 6 is defined by its test suite. So there will eventually be other versions of Perl 6 that don't run on the Parrot VM.

Perl 5 is still evolving. Perl 5.10 was a major recent release, which (among many other improvements) also had a few Perl 6 related features. Perl 5.12 is under active development (as Perl 5.11).

Perl 5.12 will have support for calling (and for being called by) Perl 6. Perl 6 should be able to compile the great majority of Perl 5 code -- this is a major priority.

Please see the Official Perl 5 Wiki to find the latest information:

http://www.perlfoundation.org/perl5/index.cgi?perl_5_wiki

Conrad Schneiker
A: 

@brian d foy

If you're looking for something to do, Perl 6 and parrot have plenty of things which could use some help

No I don't think there are so many volunteers. Your project members seem to have this ideea that people are somehow indebted to contribute to your project, it's like expecting good samaritans coming from every direction.

Cobalt
A: 

The interesting thing is that good samaritans do come from every direction ;) How else do you think that perl6 has gotten as far as it has?

Just because you don't want to contribute, doesn't mean that nobody wants to contribute.

Ben Goldberg