Menü
Developer

Perl 6 erfüllt das Weihnachtsversprechen

Wie angekündigt, ist die Version C(hristmas) passend zu Weihnachten erschienen. Perl 6 will Version 5 nicht ablösen, sondern ist eine neue Sprache. Syntax und Konzept bauen jedoch auf dem Vorgänger auf.

vorlesen Drucken Kommentare lesen 151 Beiträge
Perl 6 erfüllt das Weihnachtsversprechen

Die Entwicklungsgeschichte von Perl 6 ist in vieler Hinsicht ungewöhnlich. Perl 5.0 erschien 1994 und erreichte im vergangenen Sommer Version 5.22. Das Perl-6-Projekt startete bereits im Jahr 2000. Dabei stellte das Team klar, dass Perl 6 kein gewöhnlicher Nachfolger werden sollte, sondern ein langfristiges Projekt, aus dem eine neue Sprache mit modernen Ansätzen hervorgeht.

Mindestens seit 2005 kursiert der Witz, dass Perl zu Weihnachten erscheint – die Frage nach dem Jahr blieb dabei offen. Anfang des Jahres verdichteten sich die Zeichen, dass Weihnachten 2015 das Veröffentlichungsdatum würde. Jetzt hat Larry Wall, der Erfinder der Sprache, den Compiler Rakudo auf MoarVM für den produktiven Einsatz freigegeben.

Zu den Neuerungen gehört eine konsequentere Objektorientierung. Zwar hatte bereits Perl 5 erste Ansätze, Perl 6 legt jedoch sämtliche Daten und Typen bereits intern als Objekte ab. Rollen, die nicht selbst instanziiert, sondern Klassen und Objekten beigemischt werden, sollen zur Erstellung flacher Klassenhierarchien beitragen. Bei Multimethoden, wie es sie unter anderem auch in Common Lisp gibt, wählt das System anhand des Typs mehrerer Objekte die passende Methode aus.

Gleichzeitig kommen Primitive der funktionalen Programmierung wie eager und lazy zur Sprache hinzu. Multithreading können Entwickler in Perl 6 entweder automatisiert einsetzen oder selbst kontrollieren. Dazu stellt die Sprache Threads, Locks und Semaphores zur Verfügung. Schedulers, Promises, Channels und Supplies decken unterschiedliche Bedürfnisse der Parallelprogrammierung ab.

Seit seinen Anfängen glänzt Perl beim Parsen von Texten. Dazu gehört auch die umfangreiche Verwendung regulärer Ausdrücke. Diese Regexes erhalten in Perl 6 ein paar neue Regeln, die den Einsatz klarer machen und gleichzeitig mehr Möglichkeiten bieten. Entwickler können zudem Muster in eigenen Grammatiken speichern. Da es sich dabei um Kinder der Klasse Grammar mit zahlreichen Standardmethoden handelt, bieten sie die vollen Möglichkeiten der Vererbung inklusive dem Überladen von Methoden.

Einen tieferen Einblick in die Neuerungen von Perl bietet der Artikel auf heise Developer. Der Rakudo-Compiler steht auf der Perl-6-Site zum Download bereit. (rme)