zurück zum Artikel

Perl-Entwickler ringen um einen neuen Namen für Perl 6

Perl 5.30 ist strenger

Ist Perl 6 eine Neuentwicklung, die einen eigenen Namen verdient oder Nachfolger von Perl 5? Um die Frage drehen sich erneut Kontroversen in der Perl-Community.

Die Perl-Community ist in zwei Lager gespalten. Die bereits seit Jahren geführte Diskussion darüber, ob Perl 6 eher als Nachfolger von Perl 5 zu betrachten sei – im Sinne einer nächsten Generation, die als Ablösung bereit steht – oder ob Perl 6 nicht vielmehr einer Neuentwicklung gleich kommt, die als "Schwester"-Programmiersprache neben Perl 5 existieren wird, entflammte Anfang August anlässlich der diesjährigen PerlCon (vormals YAPC::EU) in Riga aufs Neue.

Camelia – der "Spokesbug" von Perl 6

Camelia – der "Spokesbug" von Perl 6

(Bild: perl6.org)

Eine ausgiebige Analyse der Wahrnehmung von Perl in der Community wie auch bei Anwendern, veranlasste Elizabeth (Liz) Mattijsen dazu, die Umbenennung von Perl 6 in Camelia vorzuschlagen. Camelia ist der Name des Schmetterlings (spokesbug), der Perl 6 derzeit als buntes Maskottchen ziert. Bereits gut ein dreiviertel Jahr zuvor pünktlich zum Erscheinen der zweiten Hauptversion [1] hatte die Programmiersprache aber auf Betreiben des Entwicklers "Zoffx" den Beinamen Raku erhalten – mit dem ausdrücklichen Segen von Perl-Schöpfer Larry Wall.

In seiner Videobotschaft an die Teilnehmer der PerlCon betonte der bisherige BDFL (Benevolent Dictator For Life), dass die beiden Schwestersprachen nun "alt und weise" genug seien, um auf eigenen Füßen zu stehen und sich jeweils um sich selbst zu kümmern. Daraufhin brachen prompt die immer wieder unterdrückten Meinungsverschiedenheiten in der Community auf und es entwickelte sich noch auf der Konferenz eine Diskussion um die Zukunft von Perl 6, die sich auch im GitHub-Issue 81 "Perl" in the name "Perl 6" is confusing and irritating [2] widerspiegelt.

Für eine Antwort auf die grundsätzliche Frage, ob Perl 6 eher Nachfolger oder Schwestersprache von Perl 5 ist, gibt es gute Argumente auf beiden Seiten. Tatsächlich unterscheiden sich beide Sprachen in einer Reihe von Aspekten, wie der Artikel zur Freigabe des Perl-6-Compilers auf der MoarVM [3] zumindest andeutet. Entwickler, die ein Programm schreiben wollten, dass unter beiden "Versionen" ausführbar wäre, müssten entscheidende Einschränkungen hinnehmen – größere Strukturen wie Module oder Objekte ließen sich dabei nicht umsetzen. Die in der Diskussion oft bemühten Vergleiche zu Python 2 und 3 oder C und C++ schwächeln daher.

Perl 6 ist eher als konsequente Weiterentwicklung der Idee von Perl zu verstehen, die das Ziel verfolgt, eine umfangreichere Sprache als Perl 5 zu entwickeln – und dabei bewusst einen Bruch der Kompatibilität hinnimmt. Noch müssen Perl-6-Entwickler mit weniger Modulen auskommen und Einschränkungen bei der Performance gegenüber Perl 5 verkraften, die erst allmählich angepasst werden. Dafür punktet Perl 6 aber mit der einer Hochsprache angemessenen Grammatik, Konstrukten für Parallelität und Asynchronität sowie einer umfangreichen und gut gepflegten Dokumentation. Mit comma steht zudem eine auf IntelliJ basierende IDE zur Verfügung.

Im Vergleich zu Perl 5, das eine große Community hinter sich vereint, ist die Zahl der Nutzer von Perl 6 noch immer überschaubar. Die Sprache ist daher auf Perl 5 angewiesen, wenn sie nennenswerte Aufmerksamkeit wecken will. Für Perl-5-Entwickler bietet sie sich aber als nützliches Experimentierlabor an, aus dem sie sich die besten Neuerungen heraussuchen können. Dennoch sind viele Perl-5-Verfechter nach wie vor beunruhigt. Sie befürchten einen vorzeitigen Abgesang auf Perl 5 nach dem Motto "Perl 5 is dead; wait for Perl 6". Diese Einschätzung vertritt auch der als "Ovid" bekannte Buchautor, Berater und Gremiumsmitglied der Perl Foundation, in seinem Blogbeitrag [4] zu seinen Erfahrungen aus Gesprächen mit potenziellen Kunden.

Ganz anderer Meinung ist hingegen Perl-6-Entwickler Tadeusz "Tadzik" Sośnierz, der Perl für eine ausreichend starke und etablierte Marke hält. Darüber hinaus vertritt eine zahlenmäßig starke Fraktion in der Community die Einschätzung, dass eine Umbenennung nach über 15 Jahren Entwicklung wenig hilfreich beziehungsweise sogar schädlich sei. Dennoch zeichnet sich in der Debatte ein möglicher Kompromiss ab: "Raku" oder "Raku Perl" könnten die Zustimmung beider Lager gewinnen. Raku geht ursprünglich auf eine Idee von Damian Conway zurück und genießt nicht nur das Wohlwollen von Larry Wall, sondern greift auch den Namen des seit über einem Jahrzehnt maßgeblichen Perl-6-Compilers Rakudo auf. So ließe sich einerseits die geleistete Arbeit der Compiler-Entwickler würdigen und es wären außerdem nur geringe Änderungsmaßnahmen für die Neubenennung notwendig.

Siehe dazu auf iX und heise Developer:

(Herbert Breunung, Matthias Parbel) / (map [8])


URL dieses Artikels:
http://www.heise.de/-4510571

Links in diesem Artikel:
[1] https://www.heise.de/developer/artikel/Larry-Wall-gibt-den-Rakudo-Perl-6-Compiler-auf-MoarVM-fuer-den-produktiven-Einsatz-frei-3055947.html
[2] https://github.com/perl6/problem-solving/issues/81
[3] https://www.heise.de/developer/artikel/Larry-Wall-gibt-den-Rakudo-Perl-6-Compiler-auf-MoarVM-fuer-den-produktiven-Einsatz-frei-3055947.html
[4] http://blogs.perl.org/users/ovid/2019/08/is-perl-6-being-renamed.html
[5] https://www.heise.de/meldung/Raku-Perl-6-Zweite-Hauptversion-der-Programmiersprache-erschienen-4210403.html
[6] https://www.heise.de/select/ix/2017/12/1511742360209962
[7] https://www.heise.de/developer/artikel/Larry-Wall-gibt-den-Rakudo-Perl-6-Compiler-auf-MoarVM-fuer-den-produktiven-Einsatz-frei-3055947.html
[8] mailto:map@heise.de