Wer programmiert hier wen?

Programmiersprachen prägen die Art und Weise, wie ihre Anwender denken. Zugleich erklären sie, warum Tech-Start-ups so funktionieren, wie sie funktionieren.

Lesezeit: 3 Min.
In Pocket speichern
vorlesen Druckansicht Kommentare lesen
Von
  • James Somers

Programmiersprachen prägen die Art und Weise, wie ihre Anwender denken. Zugleich erklären sie, warum Tech-Start-ups so funktionieren, wie sie funktionieren.

Auf die Idee, die Programmiersprache Ruby zu entwickeln, kam der japanische Informatiker Yukihiro Matsumoto durch einen Science-Fiction-Roman: „Babel-17“ von Samuel R. Delany aus dem Jahr 1966. „,Babel-17‘ ist eine so exakte analytische Sprache, dass sie fast jede Situation technisch beherrschbar macht“, heißt es darin. Mit Ruby wollte Matsumoto etwas Ähnliches: das Denken der Programmierer neu programmieren. Auf Ruby basieren heute Twitter, Hulu und ein großer Teil des übrigen Webs.

Matsumotos Überlegung mag sich hochtrabend anhören, doch er ist damit nicht allein. Die meisten Softwareentwickler sind überzeugt: Programmiersprachen prägen das Denken und den Umgang mit Problemen – und sogar, an welche Probleme man sich überhaupt heranwagt.

Die Frage, ob ein neues Online-Angebot in Ruby, PHP oder C geschrieben wird, kann Folgen für uns alle haben: Wenn Sie wissen wollen, warum Facebook so und nicht anders funktioniert, müssen Sie etwas über PHP erfahren. Unter Programmierern genießt PHP den wohl schlechtesten Ruf überhaupt. Ein berühmter Blog-Beitrag bezeichnet es als „Fraktal des schlechten Designs“. „Es gibt diesen Mythos von der brillanten Entwicklungsarbeit bei Facebook“, sagt Jeff Atwood von der Programmierer-Webseite Stack Overflow. „Dabei haben sie nur PHP-Code unter Windows XP geschrieben. Sie waren Hacker im schlechtesten Sinne des Wortes.“ Für ihn ist PHP ein „torkelndes Monster“, eine „Seuche“ und „ein Spukhaus, dessen Bewohner die Gespenster lieben gelernt haben“.

Die meisten erfolgreichen Programmiersprachen haben eine Gesamtphilosophie, die ihr Vokabular und ihre Grammatik zu einem logischen Ganzen zusammenfügt. PHP nicht. Ihr Erfinder Rasmus Lerdorf gibt bereitwillig zu, dass er die Sprache einfach zusammengestoppelt hat. „Ich habe absolut keine Ahnung, wie man eine Programmiersprache entwickelt“, sagte er 2003 in einem Interview. „Ich habe einfach einen logischen Schritt nach dem anderen gemacht.“

Ein beliebtes Beispiel für die Schwächen von PHP ist eine Funktion namens „mysql_escape_string“. Sie befreit eine Datenbankabfrage von schädlichen Zeichen. Als ein Bug in dieser Funktion entdeckt wurde, gab es eine neue Version mit der Bezeichnung „mysql_real_escape_string“, aber das Original wurde nicht ersetzt. Das ist so, als gäbe es in einem Flugzeug-Cockpit zwei ähnliche Knöpfe direkt nebeneinander: einen für das Ausfahren des Fahrwerks und einen für das sichere Ausfahren des Fahrwerks. Das ist nicht nur ein Affront gegen den gesunden Menschenverstand, sondern auch ein Rezept für künftige Desaster.

Trotzdem beruhen schätzungsweise 39 Prozent aller Webprojekte auf PHP, neben Facebook auch Wikipedia und WordPress. Der Grund: Ungeachtet aller Schwächen eignet sich PHP hervorragend dafür, einfach loszulegen. PHP macht es leicht, dynamische Inhalte wie das Datum oder den Namen eines Nutzers in statische Webseiten einzubauen. Dadurch schafften auch Nicht-Profis den Sprung von der Web-Seite zur Web-Anwendung.

Die Handlichkeit von PHP war entscheidend für den Erfolg von Wikipedia, sagt Ori Livneh, ein leitender Softwareentwickler bei der Wikimedia Foundation. „Ich habe PHP immer gehasst“, sagt er. Die Sprache ist ein Grund, warum die Wikipedia erst 2008 eine Mobilversion und erst 2013 eine nutzerfreundlichere Oberfläche zum Bearbeiten von Einträgen bekam. Aber dank PHP konnten auch Menschen ohne große Programmierkenntnisse neue Funktionen beisteuern – etwa die Darstellung von Hieroglyphen oder Musiknoten.

Eine Suchmaschine wie Google muss hingegen genau eine Sache beherrschen, diese aber schnell und technisch absolut sauber. Deshalb basiert die Google-Suche auf raffinierteren und mächtigeren Sprachen wie Java und C++. Facebook dagegen ist ein Basar aus kleinen Experimenten, ein Sammelsurium aus Schaltflächen, Feeds und Spielchen, die um die Aufmerksamkeit der User kämpfen. PHP ist zum Machen da – um rasch neue Funktionen zu entwickeln.

Man kann sich vorstellen, wie Zuckerberg an jenem schicksalhaften Tag, an dem Facebook geboren wurde, in seiner Wohnheimbude in Harvard versuchte, die Site mit so wenig Aufwand wie möglich online zu bringen. Das Web verändert sich so schnell, und seine Nutzer sind so flatterhaft, dass es nur einen Weg gibt, die Gunst der Stunde zu nutzen: Erster zu sein. Es war egal, ob Zuckerberg einen „großen Schlammklumpen“ oder einen „Teller Spaghetti“ programmiert hatte (um nur ein paar Ausdrücke aus dem reichen Programmierer-Vokabular für unsaubere Arbeit zu verwenden): Wichtig war, dass die Leute sie schnell nutzen konnten. Zuckerberg interessierte sich nicht für sauberen Code. Er interessierte sich dafür, dass seine Freunde Bilder von Mädchen anschauen konnten.

Heute ist Facebook mehr als 200 Milliarden Dollar wert, und in den Büros sind die Wände voller Sprüche wie „Fertig ist besser als perfekt“. Das soll die Mitarbeiter an die „Hacker“-Kultur im Unternehmen erinnern. Aber schnell zu sein gehört ohnehin stark zum Wesen von PHP, und dass jeder Nutzer unweigerlich selbst so denkt. Man könnte sagen: Die Sprache selbst hat die Facebook-Kultur entstehen lassen.

Das genaue Gegenteil von PHP findet man im hochseriösen Hauptquartier der Börsenhandelsfirma Jane Street Capital in Lower Manhattan. Das Unternehmen mit 400 Mitarbeitern ist nach eigenen Angaben für zwei Prozent des täglichen Handelsvolumens an US-Aktien verantwortlich. Dort traf ich Technikchef Yaron Minsky. Auf seinem Schreibtisch steht eine von nur noch ein paar Dutzend funktionierenden Enigma-Chiffriermaschine aus dem Zweiten Weltkrieg. Doch Minsky spricht lieber über eine obskure Programmiersprache namens OCaml.

(wst)