Thursday, July 29, 2010

Rakudo Star - Perl 6 auf Parrot

Es ist zwar nicht Perl 6.0.0, aber mit Rakudo Star gibt es eine erste brauchbare Perl 6 Implementierung. Langsam und nicht für den Produktiveinsatz gedacht, erlaubt es doch einen guten Einblick in Perl 6.

"Rakudo Perl" ist die Umsetzung der Perl 6 Spezifikation auf der Virtuellen Maschine "Parrot". Es gibt noch weitere Implementierungen wie "Pugs" oder KindaPerl6, aber die meisten Perl 6 Entwickler arbeiten an Rakudo.

Ich habe die Chance des "Rakudo Star"-Releases genutzt und mir einige Sachen angeschaut und einfach mal damit herumgespielt. Das meiste kommt einem schon bekannt vor - gerade wenn man "modernes Perl" mit Perl > 5.10 und Moose benutzt. Aber ein paar Änderungen gibt es doch. So wird für Methodenaufrufe nicht mehr der Pfeil ("->") benutzt, sondern wie in vielen anderen Sprachen auch der Punkt ("."). Und der Ternär-Operator (" ? : ") als verkürztes if-else-Konstrukt wurde auch etwas geändert: " ?? :: ". Nach meinem persönlichen Empfinden sind manche Änderungen etwas gewöhnungsbedürftig, aber es gibt viele tolle Sachen in Perl 6.

Die Regulären Ausdrücke und "Grammars" sind viel mächter und flexibler als in Perl 5 (bzw. "Grammars" gibt es in Perl 5 gar nicht). Es gibt ein besseres Objektsystem und auch Methodensignaturen, die man in Perl 5 allerdings mit Zusatzmodulen (Moose, MooseX::Declare, Method::Signatures) auch bekommen kann.

Ein paar Module sind auch schon für Perl 6 verfügbar: LWP::Simple, ein einfaches Datenbank-Modul, SVG, YAML, ... Man kann also schon anfangen, "richtige" Software damit zu schreiben.

Noch mehr Lesestoff:

Im Perl-Magazin gab es in den Ausgaben 4 bis 11 ein Perl 6 Tutorial von Herbert Breunung.

Für Perl 5 Programmierer gibt es ein sehr gutes Tutorial von Moritz Lenz mit dem Thema "Perl 6 für Perl 5-Programmierer".

Und auch heise hat einige Artikel zum heutigen Tag parat:

Rakudo Star: Perl 6 ist da
Perl 6: Ja, ist denn schon Weihnachten
Rakudo *: Zwischenschritt auf dem Weg zu Perl 6

Gabor Szabo
hat ein paar Screencasts zur Einführung in Perl 6 aufgenommen.

Jetzt wünsche ich allen noch viel Spaß mit Perl 5 und Perl 6!

No comments: