The Perl 6 Advent Calendar 160
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."
Re:This has taken too long (Score:5, Informative)
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.
Re:This has taken too long (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/ [perladvent.org]
Re:Coming of the (perl) Messiah (Score:4, Informative)
'The other question is that there are no implementations of the standard yet...'
The Rakudo guys have now committed themselves to a useful/usable release (if not a complete implementation of everything in the standard) in Spring 2010 (the target is April):
http://use.perl.org/~pmichaud/journal/39411 [perl.org]
They intend this to be a release which 'application writers will feel comfortable enough to start using in their projects'.
This probably helped:
http://news.perlfoundation.org/2008/05/tpf_receives_large_donation_in.html [perlfoundation.org]
Here's where they are now:
http://rakudo.org/status [rakudo.org]
http://github.com/rakudo/rakudo/blob/master/docs/ROADMAP [github.com]
Re:This has taken too long (Score:2, Informative)
I'm going to release the 24th stable monthly version of Rakudo Perl 6 in a couple of weeks. How many more releases do we have to release to meet that mythical bar of "shipping"?
Re:I first heard Perl 6 when I was in high school (Score:3, Informative)
We've released a new version of Rakudo Perl 6 every month since December 2007. That's 24 months in a row.
Re:This has taken too long (Score:2, Informative)
Fedora 12 includes Rakudo Perl 6 [fedoraproject.org].
For comparison, Fedora 13 will likely include Python 3 [redhat.com].
Re:This has taken too long (Score:2, Informative)
Perl Advent calendars... (Score:2, Informative)
A Perl Monks poster has collected the address of 5 different Perl(-related) advent calendars:
http://www.perlmonks.org/?node_id=810472 [perlmonks.org]
As he says, a "great tradition".
Re:This has taken too long (Score:2, Informative)
use v6;
# Perl 6 goes here
{
use P5;
# Hey, now I'm writing Perl 5 code!
}
# I'm writing Perl 6 again!
The amazing thing is that the object models will be able to interact, which means that CPAN modules will be trivially usable. That's a different kind of interop from what I showed above, and it's working (to a degree) now. Of course, the languages it works between are Cardinal (Ruby on Parrot), PIR (Parrot's native language), and Rakudo (Perl 6 on Parrot). The syntax is currently like this:
use opengl:from<PIR>;
Re:This has taken too long (Score:3, Informative)
"Perl is more than just the vagaries of syntax. Perl is philosophy; Perl is custom; Perl is architectual edifice; Perl is community."
And Perl6 is a jump over the shark.
That's meaningless. You could say that about any new technology (I'm sure someone said it about the DVD).
I've seen snippets of Perl6 and it does indeed look rather different from previous versions of Perl.
In some ways yes, and in some ways, no. Perl 4 looked like this:
require "foo.pl";
local($foo);
$foo = 10;
Perl 5 looked like this:
package Foo;
my $foo = 10;
Perl 6 looks like this:
module Foo;
my $foo = 10;
You tell me which was a larger leap.
Perl 6 is, conceptually, a massive shift and arguably a language of its own. But in terms of raw syntax and ease-of-learning for current Perl 5 users, it's not as large a change as one might have thought.
Non-Obligatory plug (Score:3, Informative)
To test out Perl 6 in an IDE environment, try Padre.
http://padre.perlide.org/download.html [perlide.org]
NOTE 1: Install the 'Padre Standalone Plus Six' package, not the 'Padre Standalone' package)
NOTE 2: If you install it on windows, ensure you have a few hundred MB to spare on c:\ -- the drive targeting for the Install MSI does not work properly yet.