Die Woche: Endlich Weihnachten

@ctmagazin | Kommentar

Mit Rakudo Star ist die erste Perl-6-Distribution da – und Perl-Fan Susanne Schmidt hat einen Release-Kater. Ein Kommentar.

Perl 6. Jetzt offiziell. Schon seit Monaten installiere ich Release für Release, probiere und teste und habe immer noch keine richtige Meinung zu den zahlreichen Neuerungen. Ich hatte schon keine, als Pugs noch die angesagte Perl-6-Implementierung war. Trotzdem: Perl 6 ist das Open-Source-Projekt, auf das ich mit Abstand am längsten, geduldigsten, hoffnungsvollsten gewartet habe.

Jetzt habe ich einen Release-Kater.

So viele Sprachen sind in der letzten Dekade an Perl in der Beliebtheitsskala, beim Stellenangebot und auch in ihrer Innovationskraft vorbeigezogen, haben Nischen belegt, die Perl offen gelassen hat, und Entwicklungen vorangetrieben, die Perl nachträglich adaptiert hat. Ein bisschen neidisch war ich auf der einen Seite – auf der anderen tief beeindruckt, was immer noch mit unserem ollen, viel gescholtenen, angeblich so unprofessionellen Perl geht: Moose beispielsweise. Perl ist die Sprache, die das Web so maßgeblich geprägt und geformt hat, ohne die seinerzeit kaum ein Web-Startup arbeiten konnte, die reguläre Ausdrücke und nützliche Funktionen und Listenhandhabung auf eine Weise verbunden hat, wie sie nach Perl beinahe jede andere Sprache ähnlicher Arbeitsweise übernommen hat – nicht umsonst heißt es "perl compatible regular expressions".

Wo ist diese Kraft und dieser Einfluß geblieben?

Da hatte ich schwer auf Perl 6 gehofft. In Hinblick auf Fähigkeiten bin ich nicht enttäuscht worden – Perl 6 ist supercool und kann im Prinzip alles, verschmilzt Listen, Operatoren und Grammatiken, den Nachfolger der regulären Ausdrücke, mit funktionalen Elementen und der von Perl gewohnten, gefürchteten, geliebten Flexibilität. Ein Wahnsinnsprojekt, dieses Perl 6.

Deswegen habe ich auch einen Kater und Kopfweh. Perl 6 ist so obercool, dass ich im Grunde nicht weiß, wie die Sprache für Alltagsprojekte, für die Programmierung im Job, für Otto Normalprogrammierer überhaupt handhabbar sein soll. Ich wollte eigentlich nur "das schönere Perl" (viele Leute definieren heute Ruby als genau das...). Aber wenn ich nur die Bestandteile benutze, die ich wirklich brauche – ein bisschen OO hier, einen Operator dort, Code noch etwas gestrafft –, ohne all zu sehr in die Golf-Ecke abzudriften, fühle ich mich schuldig, obwohl es sich damit ganz prima coden lässt.

Ein bisschen müde bin ich ob der Coolness auch geworden. Brauche ich all das, was Perl 6 liefert (der geneigte Leser führe sich die Synopsis zu Gemüte und vergegenwärtige sich, dass dort immer noch Teile – und zwar die wirklich coolen wie Makros – fehlen), wirklich für meine tägliche Arbeit? Nein, brauche ich nicht – ganz im Gegenteil: Ich begrüße die aktuelle Tendenz und Mode, sehr schlichten, aufgeräumten, geradezu Zen-gleichen Code zu schreiben sehr. Da stören die Sigils und mit Perl 6 eingeführten Twigils und dazu noch eine volle Dröhnung Operatoren die Ästhetik. Viele neuere Perl-5-Module und -Projekte beispielsweise zeigen auch eine neue, von Ruby auf gute Weise beeinflusste Programmierweise und ein ganz anderes Perl (5), als uns das Klischee in jedem Kommentar-Thread weismachen will.

Wie andere Programmiersprachen aktuell beweisen, braucht es eigentlich nur funktionale Elemente, irgendeine Möglichkeit, irgendeinen Stil von OO zu programmieren und Code ordentlich in irgendeine Organisationseinheit zu bringen, eine nette Listenhandhabung und eine nicht zu schmerzhafte Art, C-Bibliotheken einzubinden. Das kriegen wir mit Ruby, da zeigt JavaScript mit Node.js plötzlich auf der Serverseite seine volle Leistungsfähigkeit, da können wir mit Clojure die halbe Java-Welt funktional verpacken und dank Moose zeigt auch das längst abgeschriebene Perl 5 seine immense Flexibilität.

Da Perl 6 noch lange nicht die Geschwindigkeit von Perl 5 und den Modulreichtum von CPAN mitbringen wird, fragt sich der pragmatisch denkende Entwickler garantiert, wann – oder ob – er auf Perl 6 wechseln sollte. Scientific Computing, Computer-Linguistik – das sind Felder, bei denen meine Phantasie ausreicht, eine Notwendigkeit für Perl 6 zu sehen. Aber was programmiert die durchschnittliche deutsche mittelständische Software-Firma denn? Künstliche Intelligenz in DNA-Computern? Ein neues Google? (Es gibt da eine neue Suchmaschine, bescheuerter Name, in Perl gecodet: Duck Duck Go.) Oder Commander Datas positronische Matrix?

Und doch bleibt da dieses nagende Gefühl, dass Perl 6 vielleicht doch total Klasse ist, wenn es erst mal richtig schnell ist – aber dann gucke ich noch mal in die Synopsis und kriege wieder Kopfweh vor lauter Features.

Vielleicht brauche ich einfach bloß Wasser statt Champagner im Alltag. (odi)

Siehe dazu auch:

Kommentare