Sei es nun Bjarne Stroustrup (C++), Linus Torvalds (Linux), David Heinemeier Hansson (Ruby on Rails) oder Anders Hejlsberg (C#, Delphi, TypeScript) – zahlreiche namhafte Entwickler, ohne deren Schöpfungen der moderne Alltag undenkbar wäre, stammen aus dem Norden Europas. So auch der Däne Rasmus Lerdorf, der die Skriptsprache PHP entwickelte. Ohne PHP wäre das dynamische Web, wie wir es heute kennen, nicht möglich. Ursprünglich wollte Lerdorf ein Tool entwickeln, mit dem er die Zugriffe auf seinen Online-Lebenslauf erfassen kann und stellte dieses der Öffentlichkeit zur Verfügung. Doch aus den „Personal Home Page Tools“ wurde rasch mehr.
Festanstellung trotz Welterfolg
Mittlerweile ist PHP bei Version 7.1.4 angekommen und die mit Abstand am häufigsten verwendete serverseitige Skriptsprache im Web. Lerdorf hat seine Schöpfung eine abwechslungsreiche Karriere beschert, unter anderem sieben Jahre bei Yahoo. Mittlerweile ist er bereits seit mehr als fünf Jahren beim Online-Händler Etsy beschäftigt. Anlässlich der Entwickler-Konferenz WeAreDevelopers hat Lerdorf Wien besucht. Die futurezone hat ihn zum Interview gebeten.
Haben Sie je damit gerechnet, dass aus einem so kleinen Projekt etwas derart Großes werden würde?
Ich hätte mir nie vorstellen können, dass ich an diesem Projekt noch 25 Jahre später arbeiten würde. Ich war seit den frühen 80er Jahren an Internet-bezogenen Technologien interessiert, als ich mit Modems und Foren-Systemen experimentiert habe. Ich habe 1986 sogar meine eigene Foren-Software entwickelt und mich dann weiter mit IRC und Gopher gespielt. Als der Mosaic-Browser 1993 veröffentlicht wurde, war dann klar, dass das Web wirklich groß wird. Es war jedoch nicht klar, wie nicht-statische Sites gebaut werden können. Es gab verschiedene Ansätze 1993 und 1994, aber ich war nicht glücklich damit und bin immer wieder zu meiner C-Bibliothek zurückkehrt.
Nach einer Weile hatte ich genug davon, meine C-CGI-Programme jedes Mal neu zu kompilieren, wenn sich etwas auf der Seite ändern sollte. Daraufhin hab ich ein Templating-System geschrieben, aus dem heraus schließlich PHP entstehen sollte. Ich dachte mir damals noch, dass ich mein System nicht lange verwenden müsste. Nach spätestens sechs Monaten würde jemand mit einer ähnlichen oder besseren Lösung daherkommen, die mir gefallen würde, da war ich mir sicher. Dann haben jedoch andere Leute angefragt, ob sie meinen Code verwenden dürfen, womit ich kein Problem hatte. Sie haben zudem angefangen, mir Fixes und neue Features zu schicken. Das war deutlich bevor der Begriff „Open Source“ überhaupt existierte, aber es gefiel mir. Um 1996 wurde mir dann bewusst, dass die Lösung von „da draußen“, auf die ich ständig gewartet habe, auf diese Art und Weise zustande kommt. Die Community trägt einfach zu dem bei, was ich angefangen habe. Da wurde es erst interessant.
Obwohl PHP weit verbreitet ist, genießt es unter Entwicklern einen zwiespältigen Ruf – woran liegt das ihrer Meinung nach?
Das stimmt, PHP hat einen schlechten Ruf unter einer gewissen Art von Entwicklern. Ich sehe, dass sie sich oft auf ihren Wordpress-Blogs darüber beschweren. Manche Kritik mag gerechtfertigt sein und wir bemühen uns aufzuräumen und diese Probleme zu beheben, doch letzten Endes sind es einfach nur Geeks. Sobald etwas so populär ist wie PHP, ist es nicht mehr cool. Das stört mich nicht. Auf jede Beschwerde kommen viele Menschen aus aller Welt, die mir erzählen, wie PHP ihr Leben verändert hat. Unzählige kleine Firmen sind entstanden, weil jemand eine Idee hatte, die er mit PHP umsetzen konnte. Es ist immer noch zugänglich und leicht bedienbar genug, dass diese Menschen ihre Ideen in die Wirklichkeit umsetzen können.
Vor allem Node.js hat in den vergangenen Jahren an Popularität zugelegt und gilt als leistungsfähige PHP-Alternative. Was macht aus ihrer Sicht die eine Technologie besser als die andere?
Ich finde Node.js sehr interessant. Für gewisse Bereiche ist es eine bessere Wahl als PHP und ich habe es selbst schon für viele Dinge verwendet. Meiner Meinung nach ist die Lernkurve relativ steil. Die Tatsache, dass die Event Queue Threads einzeln abarbeitet, sorgt außerdem dafür, dass du nur einen Kern deiner nette 16-Kern-Maschine auslastest. Dafür gibt es zwar Lösungen, wie das Cluster-Modul, das in Node 0.8 eingeführt wurde, aber man muss sich selbst überlegen, wie man die Last zwischen den CPU-Kernen verteilt. Das muss man mit PHP definitiv nicht machen. Wir haben meiner Meinung nach schon von Node gelernt. Nodes npm (Node Package Manager) ist wirklich nett und PHPs Composer-Projekt hat sich einige Ideen davon geholt.
Wie stark sind Sie noch in die Entwicklung von PHP involviert?
Ich trage immer noch etwas zur Entwicklung bei. Nicht mehr so stark zum Kern von PHP, da das deutlich mehr Zeit erfordert, aber ich behebe hin und wieder einzelne Bugs und ich habe kürzlich mit Phan einen statisches Analyzer veröffentlicht.
Was ist ihrer Meinung nach die nächste große Veränderung für PHP?
Ich glaube, die nächste große Veränderung für PHP wird die Einführung von JIT (Just-in-Time) sein.
Welche Fähigkeiten sollte ein moderner Web-Entwickler besitzen?
Ich glaube, es ist am Wichtigsten, dass man sich als Web-Entwickler nicht von einer einzelnen Programmier-Sprache, -Framework oder Stack vereinnahmen lässt. Wenn man es als Entwickler ernst meint, sollte man den Umgang mit so vielen Werkzeugen wie möglich lernen, damit man damit jedes Problem lösen kann.
Sie haben oft gesagt, dass Sie Programmieren langweilig finden – ist das ihre persönliche Meinung oder glauben Sie, dass Programmieren generell langweilig ist?
Ich habe PHP entwickelt, weil ich Programmieren mühsam und langweilig finde. Wie Fliegen ist es für mich nur ein Mittel zum Zweck. Ich kann mir nicht vorstellen, dass sich irgendjemand gerne elf Stunden lang in einen unbequemen, kleinen Sitz zwängt – aber welche Wahl hat man schon, wenn man von San Francisco nach Berlin reisen möchte? Ich brenne für das Ziel. Ich liebe es, Probleme zu lösen und zu beobachten, welchen Effekt das auf echte Menschen und Gemeinschaften hat. PHP hat diese Reise für mich weniger schmerzhaft gemacht. Es erlaubt es mir, mich eher auf das Ziel statt auf die Reise zu konzentrieren.
Natürlich geht es nicht jedem so. Viele Programmierer lieben es zu Programmieren. Es macht keinen Unterschied, wohin sie reisen wollen, sie lieben einfach das Fliegen. Meine „Lösung“, wenn man es so nennen will, ist der Fokus auf das Ziel, von dem ausgehend ich mich rückwärts vorarbeite. Heute gibt es viele spezielle Frameworks, die sich auf eine bestimmte Art von Problemen konzentrieren. Es gibt keinen Grund mehr dafür, ein eigenes Thread-basiertes Forum oder ein eigenes Ticketing-System zu entwickeln. Viele dieser Probleme wurden bereits gelöst und der Code ist frei verfügbar, man muss ihn nur an die eigenen Bedürfnisse anpassen. Langfristig hoffe ich darauf, dass diese speziellen Frameworks Systeme beschreiben, die man trainiert und nicht programmiert. „Machine Learning“ als Lösung für ein Problem vorzuschlagen, liegt aktuell zwar im Trend und wird oft falsch verwendet, doch irgendwann werden wir bedeutende Auswirkungen sehen.
Gibt es einen Trend in der modernen Web-Entwicklung, mit dem ihrer Meinung nach aufhören sollte?
Ich bin kein großer Fan von allgemeinen Frameworks in jeglicher Sprache. Glücklicherweise geht dieser Trend meiner Meinung nach schon vorbei. In der PHP-Welt hat das Composer-Projekt es bereits deutlich vereinfacht, nur einzelne Teile verschiedener Frameworks in den eigenen Anwendungen zu nutzen.
Sie haben sieben Jahre lang bei Yahoo gearbeitet – wie beurteilen Sie die aktuelle Situation des früheren Internet-Riesen?
Es ist sehr traurig zu sehen, dass Yahoo von einem Telekom-Konzern (Anm. d. Redaktion: Verizon) mit AOL zusammengelegt werden soll. Yahoo hatte ein großartiges Team an Entwicklern, die unzählige Technologien entwickelt haben, die das moderne Web formen. Die Yahoo-Diaspora innerhalb der Tech-Branche ist ziemlich beeindruckend und man findet kaum jemanden, der seine Zeit dort nicht geliebt hat. Unser Blut ist immer noch Violett.