minpic01.jpg

Im Gespräch: Perl-Guru Larry Wall

Einfach kompliziert

Stephan Dresen

Aus Anlaß des Deutschen Internet-Kongresses im Mai war Perl-Erfinder Larry Wall in Deutschland. iX hatte Gelegenheit, mit ihm über das Programmieren an sich, sich selbst und natürlich Perl zu philosophieren.

Die Fronten sind bezogen. Im Serverraum des Rechenzentrums sammeln sich auf der einen Seite die Jünger der Programmiersprache Perl, auf der anderen die Tcl-Anhänger. Auf verlorenem Posten stehen zwei, drei verstreute awk-Enthusiasten. Die einen werfen mit Regular Expressions um sich, von denen keiner erklären kann, warum sie das tun, was sie tun. Die anderen halten mit kleinen Data Manipulation Methods dagegen. Keine Fraktion erringt die Vorherrschaft.

Larry Wall, der Schöpfer der Interpreter-Sprache Perl, kennt den Wettstreit, dem sich seine Anhänger jeden Tag aufs Neue hingeben. Der Wettbewerb zwischen Programmierern um die bessere Sprache für CGI-Code im Web hat in seinen Augen allerdings mehr von einer Glaubensfrage.

Auf dem Deutschen Internet-Kongreß in Frankfurt trat der Vater von Perl kürzlich als Stargast auf und beantwortete Fragen. `Ich verstehe mich mit John ganz gut', lehnte sich Larry Wall gemütlich zurück. Hinter John verbirgt sich John Ousterhout, der Erfinder der Scriptsprache Tcl. Wenn er, John und die Schöpfer von awk zusammensitzen, geschehe das in lockerer Atmosphäre, jeder bereit, vom anderen etwas zu lernen und neue Ideen zu entwickeln. Dabei sei nichts von Streit zu spüren. Auf die Frage, wo er die großen Unterschiede zwischen Perl und Tcl sehe und in welchem Feld Perl Tcl überlegen sei, antwortete Wall nicht sofort. Nach einigem Nachdenken meinte er, daß es eigentlich kein Gebiet gebe, auf dem Perl absolut überlegen sei. Perl sei flexibel, und es gebe auch keinen Bereich, in dem Perl nicht Stärken habe.

Vorteil Sprachenvielfalt

Ein Haupteinsatzgebiet von Perl war und ist die Linguistik. Wall widmete sich ihr, nachdem er einige Zeit Chemie studiert hatte (`Die Chemie hat mir zu sehr gestunken'). Der Grundstein für sein Interesse an Sprachen wurde bereits in seiner Familie gelegt: der Vater sprach Flämisch, Deutsch und Englisch. In Vorträgen widmet Larry Wall daher meist einen Abschnitt den natürlichen Sprachen, um von dort aus Parallelen zu den Computersprachen zu ziehen. Der Vergleich zwischen Esperanto und Perl ist naheliegend: beide sind unabhängig von der Umgebung, kennen keine Dialekte, sind geradlinig und kontrolliert (Perl durch Larry Wall) gewachsen. Er wacht mit Argus-Augen über sein Kind.

Als jüngst Entwicklern begannen, mit Perl unter MS-Windows eigene Wege zu gehen und die 100prozentige Kompatibilität zum Unix-Pendant zu gefährden, schritt Wall energisch ein und setzte dem Treiben ein Ende.

Diese Probleme, die ihre Wurzeln in Perls Freeware-Konzept haben, sind inzwischen gelöst. Doch Wall betonte jüngst augenzwinkernd in einem Interview, er habe gelernt, daß Perl eher einer Monarchie ähneln sollte. Zur Zeit bekommt er wöchentlich um die 100 Verbesserungsvorschläge aus aller Welt. Doch er muß sich beschränken, um Perl nicht undurchschaubar und zu langsam werden zu lassen. Daher landen 99 Prozent der Vorschläge im Papierkorb.

Neben der Möglichkeit, schnell komplizierte Programme prototypisch zu entwerfen, ist die Plattformunabhängigkeit die große Stärke der Sprache. Damit bedient sie denselben Bereich wie Java. Auf Java angesprochen kontert Wall mit einem seiner beiden Slogans `Easy things should be easy and hard things should be possible.' Java ist für ihn zu C++-lastig und damit komplizierter als Perl. Sein Ziel ist es, noch in diesem Jahr einen Compiler fertigzustellen, der Java-Bytecode ausgibt. Damit wäre Suns objektorientierte Sprache nur eine weitere Perl-Plattform.

Der zweite Slogan, der in keiner Wall-Rede fehlen darf, ist: `There's more than one way to do it.' Während Reduktionisten nach dem optimalen, reinen Code zur Lösung ihrer Aufgaben suchen, setzt Perl auf Kreativität. Es gibt immer mehrere gute Wege zum Ziel. Der Phantasie beim Lösen eines Problems sollen beim Umsetzen möglichst wenig Hürden im Weg stehen.

Eine Stärke Perls ist die Vielseitigkeit, deren Quelle in den Wurzeln der Sprache steckt. Wer Perl als zweite oder dritte Sprache lernt, wird vieles wiedererkennen. So stammen von C control, numbers und System-Calls. Von sed hat Wall substitution und translation entliehen. Aus der Bourne-Shell stammen interpolation, eval, Listen und Prozesse. An awk hat Wall der Umgang mit Strings gefallen. Anderes empfand er als awkward (unbeholfen), etwa die Beschränkungen bei der Ein-/Ausgabe.

`Practical Extraction and Report Language' heißt Perl in den Standardwerken. Doch diese Erklärung hat Larry Wall erst nachträglich zusammen gezimmert. Ursprünglich sollte Perl Gloria (nach Walls Frau), dann Pearl heißen. Doch Wall war der Meinung, daß es verwirrend sein könne, wenn alle Leute dauernd Nettigkeiten über Gloria sagten - und Pearl gab es bereits. Also hat ihn sein Schöpfer kurzerhand abgewandelt und dafür auch noch gleich eine zweite Erklärung geliefert: Pathologically Eclectic Rubbish Lister.' (hb)