Was ist Perl?

Perl ist eine Programmiersprache, die für viele Einsatzbereiche genutzt werden kann und dem Autor viele Freiheiten beim Schreiben lässt.

Sie bietet hervorragende Möglichkeiten zur Verarbeitung von Text und zur Manipulation großer und komplexer Datenstrukturen.

Perl wurde gebaut, um praktisch zu sein. Die Sprache soll einfach zu verwenden sein, effizient in der Ausführung, und möglichst vollständig in der sprachlichen Ausdrucksmöglichkeit (dazu komme ich gleich noch). Perl wurde nicht gebaut, um hübsch zu sein. Die Sprache ist weder klein noch ist sie elegant.

Wegen der vielfältigen sprachlichen Ausdrucksmöglichkeiten und der vorhandenen Werkzeuge kannst du schnell Prototypen deiner Anwendung erstellen. Das macht Perl besonders geeignet zur Erstellung von Webanwendungen.

Freiheit der Formulierung

Doch nicht nur bei der Wahl des Einsatzbereichs ist Perl flexibel, sondern auch beim Schreiben.

Die Sprache ist einfach zu lernen, da sich ihr Wortschatz an dem englischen Wortschatz orientiert. Wie in jeder natürlichen Sprache gibt es in Perl immer mehrere Möglichkeiten, etwas auszudrücken. Der Autor kann jeweils den Ausdruck wählen, der ihm am treffendsten erscheint.

Du kannst in dem Programmierstil programmieren, den du möchtest: funktional, imperativ und objektorientiert. Diese Stile kannst du auch mischen.

Die Sprache passt sich somit dem Autor an und nicht umgekehrt.

Diese Flexibilität ist eines der Prinzipien von Perl. Es wird gerne mit »there is more than one way to do it« (abgekürzt TIMTOWTDI) umschrieben: »Es gibt mehr als eine Art, es zu tun«. Wähle dir die Art aus, die dir liegt, dir am besten gefällt oder deinem Stil entspricht.

Freiheit des Textes

Der Quelltext von Perl ist frei verfügbar. Jeder kann sich ansehen, wie Perl geschrieben ist, wie es funktioniert, und es weiter entwickeln. Dank dieser Offenheit können in dieser Sprache auf mehr als 100 Rechnerplattformen Programme geschrieben und ausgeführt werden.

Diese Kultur der Freiheit drückt sich auch in den Modulen aus, mit der die Funktionen der darin geschriebenen Programme und die Sprache erweitert werden. In der Gemeinschaft der Perl-Entwickler ist es gängige Praxis, sein Wissen und seinen Code mit anderen zu teilen. Die Module werden frei zugänglich an einem zentralen Ort, dem CPAN, gesammelt. Von dort können sie mit einer Vielzahl von Werkzeugen installiert werden.

Freiheit und Verantwortung des Autors

Wie ich oben geschrieben habe, kann der Autor beim Schreiben eines Programmes üblicherweise zwischen mehreren Ausdrücken den auswählen, der ihm am ehesten gefällt.

Neulinge der Sprache können mit einem geringen Wortschatz, dem so genannten »Baby Perl«, bereits mächtige Programme schreiben. Erfahrenere Entwickler wählen vielleicht andere Ausdrücke, weil sie inzwischen ihren eigenen Stil in der Sprache ausgebildet haben. Experten wiederum treffen vielleicht eine andere Wahl, weil sie für ihre Umgebung andere Anforderungen haben.

Diese Vielfalt der Ausdrucksmöglichkeiten erschwert es demjenigen, der die Sprache erlernen möchte, gelegentlich. Doch auch bei der Arbeit in Teams kann dies ein Problem sein, wenn sich das Team nicht auf eine einheitliche Schreibweise einigen kann.

Außerdem kann man sich in der Sprache sehr kompakt ausdrücken. Perl verwendet als notwendiges Sprachelement an vielen Stellen nicht nur das übliche Alphabet, sondern auch Sonderzeichen. Dadurch ist es leider auch einfach, unleserlichen Code zu schreiben.

Diese Freiheit, die der Autor hat, bringt also auch Verantwortung mit sich. Du solltest beim Schreiben immer daran denken, dass jemand anderes diese Zeilen später lesen könnte und dann verstehen möchte, wie das Programm funktioniert.

Bei der Arbeit in Teams wird dies immer der Fall sein. Beim Schreiben eines Moduls, dass du auf CPAN anderen zur Verfügung stellst, wahrscheinlich auch. Und selbst dann, wenn dein Programm deinen Rechner nicht verlässt, könntest du dich in ein paar Wochen fragen, was du dir zur Hölle dabei gedacht hast, als du diese unverständlichen Zeilen formuliert hast, die du da vor dir siehst.

Geschichte

1987 wurde die Sprache von Larry Wall entwickelt, um Arbeiten bei der Administration von Rechnern zu vereinfachen. Die Fähigkeiten zur Textverarbeitung stammen aus dieser Zeit, da Larry Wall viele automatisch erzeugte Verarbeitungsprotokolle auswerten wollte, die als Textdateien vorlagen.

Da er mit Rechnern gearbeitet hat, die mit dem Betriebssystem Unix betrieben wurden, hat Perl seine Wurzeln in diesem Umfeld. Perl wurde entwickelt, um die Einschränkungen der damaligen Werkzeuge zur Textverarbeitung unter Unix zu umgehen. Einige Elemente der Sprache zeugen von diesem Hintergrund.

Mit der wachsenden Verbreitung des Internets, das damals zu großen Teilen aus Textdateien bestand, hat sich Perl als Sprache gezeigt, die zur Verbindung der damaligen Anwendungen geeignet war. Aus dieser Zeit stammt ihr Ruf als »glue language« (»Leim-Sprache«) des Internets.

Zum Ende der 90er Jahre nahm die Beliebtheit von Perl ab. Es gab konkurrierende Sprachen wie Python und Ruby, die sich ebenfalls auf dem Spielfeld der leicht zu erlernenden Skriptsprachen tummelten. Und dann gab es natürlich Java, das Perl in großen Unternehmen das Wasser abgegraben hat. Java stand und steht für »Enterprise«.

Neue Sprachfeatures tauchten bei neuen Programmiersprachen auf und konnten nur mit immer größerem Aufwand in perl – dem Compiler – eingebaut werden. Die Weiterentwicklung von Perl – der Sprache – war ins Stocken geraten. Wie sollte es weitergehen?

Im Jahre 2000 wurde dann aus Perl eine Sprachfamilie. Bisher hatte es immer nur ein Perl und ein perl gegeben, und das in seiner vierten Überarbeitung: Perl 5. Doch jetzt wurde Perl 6 ausgerufen, und es sollte neben Perl 5 stehen.

Perl 5 war eine Neuentwicklung von Larry Wall mit den Erfahrungen der Vorgängerversionen. Perl6 sollte die Neuentwicklung der Sprache und der Gemeinschaft durch die Gemeinschaft der Entwickler mit den Erfahrungen der Vorgängerversionen sein.

In Perl 6 sollte all das, was man an anderen Sprachen schätzt, enthalten sein. Nicht, weil man damit protzen wollten, sondern weil der Entwickler dann sein Problem auf seine Art und Weise lösen kann. 1

Einige Entwicklungen von Perl 6 sind in Perl 5 eingegangen. Ohne Perl 6 sähe Perl 5 heute anders aus.


  1. Wie schon im Handbuch von Perl 1 steht: Bei Perl ging es immer darum, die coolen Features der anderen Sprachen an einer Stelle zu sammeln. Hier geht es nicht um bling-bling. (Man kann ohnehin nicht mit verzögert ausgewerteten Arrays in einem Hip-Hop-Video prahlen.) Es geht vielmehr darum, eine Aufgabe so zu erledigen, wie du sie erledigen möchtest. Daher war das Beste gerade gut genug. (eigene Übersetzung)

    As the Perl 1 manpage tells you: Perl was always about to have all the cool features of other languages in one place. That isn’t for the purpose of bling-bling. (You couldn’t brag with lazy evaluated arrays in a hip hop video anyway) But it’s about getting the task done the way you prefer, so only the very best could be enough.

    Aus: http://www.perlfoundation.org/perl6/index.cgi?perl_6_history_tablet

    [return]
comments powered by Disqus