Open Source im professionellen Einsatz
Linux-Magazin 09/2016
© Dmitry Kalinovsky, 123RF

© Dmitry Kalinovsky, 123RF

Perl 6 im Praxistest

Alles neu

Perl 6 beschert der Perl-5-Syntax einen neuen Anstrich und führt ein richtiges Objektsystem ein. Ein Praxistest anhand der Re-Implemtierung eines alten Blackjack-Spiels.

421

Online PLUS

Im Screencast demonstriert Michael Schilli das Beispiel: http://www.linux-magazin.de/Ausgaben/2016/09/plus

Totgesagte leben länger, heißt es, und das jahrzehntelang herbeigelechzte Perl 6 scheint nun tatsächlich Gestalt anzunehmen. Das erfuhr ich kürzlich in Orlando im Bundesstaat Florida, als ich Gelegenheit hatte, der Grassroots-Perl-Konferenz YAPC 2016 beizuwohnen. Etwa zwei Drittel der Vorträge widmeten sich Perl-5-Themen, aber zu meinem Erstaunen wenden sich nun mehr und mehr Leute in der Community allen Ernstes dem Nachfolger und jahrelangen Sorgenkind Perl 6 zu.

Schon vor sage und schreibe elf Jahren, auf der Oscon-Konferenz 2005 hatte Damian Conway vollmundig angekündigt, das "Endgame" der Entwicklung sei angebrochen, aber was dann folgte, waren mehrere Rückschläge und Neuanfänge. Bis Ende letzten Jahres dann endlich die virtuelle Maschine Rakudo betriebsfähig war, die zwar nicht mit Performance punktet, aber doch zuverlässig Perl-6-Code durchrattert.

Was ist Perl 6?

Um Perl 6 kennenzulernen, ist es hilfreich, zu analysieren, was Perl 5 gefehlt hat. Manko Nummer eins ist ohne Zweifel ein fest eingebautes Objektsystem. In Perl 5 war es notdürftig aufgenietet, aber niemand, der einigermaßen bei Verstand ist, hätte auch nur in einem mittelgroßen Programm die zu Klassen gestempelten Hashstrukturen oder als Hashelemente eingebaute Attribute verwendet.

Vielmehr haben professionelle Perl-Entwickler seit bestimmt zehn Jahren das CPAN-Modul Moose oder einen seiner Ableger genutzt, um Klassen zu definieren und auf deren Attribute zuzugreifen. Das befreit Entwickler nicht nur von der Fronarbeit, lästigen Boilerplate-Code einzutippen, sondern spannt auch ein Sicherheitsnetz auf, denn der Compiler merkt sofort, falls sich ein Tippfehler eingeschlichen hat. Bei einem falschen Hashkey ist das nicht der Fall und fatale Fehler kommen erst zur Laufzeit und unter Umständen nach langer Betriebszeit aus ihren Löchern. Eigentlich eine Selbstverständlichkeit für jede moderne Sprache, aber eben in Perl 5 historisch bedingt leider nur als Flickwerk implementiert.

Geräuschvoller Code

Die Macher Larry Wall und Damian Conway spendierten Perl 6 also Syntax zur Definition von Klassen und zum Aufrufen von Objektmethoden, denen Entwickler Listen mit benannten Parametern übergeben können. Nebenbei sind auch einige logische Ungereimtheiten in der Perl-5-Syntax bereinigt, die sich als Fallstricke für Anfänger erwiesen hatten.

Und weil man schon mal dabei war, kommt noch hier und da geklaute Syntax aus allen möglichen moderneren Sprachen wie Python oder Ruby hinzu, die irgendwie praktischen Nutzen verspricht und clevere Tricks beim Programmieren verheißt. Herausgekommen ist eine Sprache mit relativ vielen Sonderzeichen, die die Kompatibilität zum alten Perl 5 komplett zerbricht und einen neuen Interpreter namens Rakudo braucht.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 6 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Linux-Magazin kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Wachsame Schläfer

    Mit Log::Log4perl lassen sich in Programme Log-Anweisungen einbauen, die bei der normalen Programmausführung schlafen. Besteht Bedarf, steuert eine externe Konfigurationsdatei das Erwachen der Schläfer. Sie zeigen an, was das Programm so treibt, ohne dass man dessen Code ändern muss.

  • Perl-Snapshot

    Mathematische Rätsel mit bedingten Wahrscheinlichkeiten knackt der Fachmann mit der Bayes-Formel oder auch mit diskreten Verteilungen – erzeugt von kurzen Perl-Skripten.

  • Runter kommen sie alle

    Spiele-Programmierer rechnen mit physikalischen Formeln und setzen spezielle Tricks ein, um Grafiken realitätsnah zu animieren. Der als Perl-Wrapper verfügbare Simple Direct Media Layer (SDL) bietet ein leistungsfähiges Framework, um einfache 2D-Welten zu schaffen, hier eine Fallschirmsprung-Simulation.

  • Perl-Snapshot Linux-Magazin 2012/04

    "Perlmeister" Michael Schilli hat seinen Snapshot mit dem Magazin 2012/04 als Screencast verarbeitet.

  • Humpeln zur Diagnose

    Viele verdammen Debugger als Teufelszeug. Oft erweisen sie sich aber als letzte Rettung. Perl hat einen sogar eingebaut. Mit ihm beschäftigt sich dieser Snapshot - passend zum Schwerpunkt des Hefts.

comments powered by Disqus

Ausgabe 07/2017

Digitale Ausgabe: Preis € 6,40
(inkl. 19% MwSt.)

Artikelserien und interessante Workshops aus dem Magazin können Sie hier als Bundle erwerben.