Ken Thompson

Ken Thompson: Der stille Architekt von allem

Als die Bell Labs 1969 aus dem Multics-Projekt ausstiegen, blieb Ken Thompson mit einem veralteten PDP-7-Minicomputer in einer Ecke und ohne offiziellen Auftrag zurück. Er nutzte ihn trotzdem, um ein Betriebssystem zu bauen. Unix läuft heute, in irgendeiner Nachfahrenform, auf fast jedem Server, Telefon und eingebetteten Gerät auf dem Planeten. Dennis Ritchie, Thompsons engster Mitarbeiter und selbst eine bedeutende Persönlichkeit, sagte über diese erste Version, dass "die meisten Ideen und eigentlich auch die meiste Arbeit von ihm stammten".

Arithmetik im Binärsystem

Kenneth Lane Thompson wurde am 4. Februar 1943 in New Orleans, Louisiana, geboren. Sein Bericht über seine eigene Kindheit ist charakteristisch schmucklos: "Ich war schon immer von Logik fasziniert, und selbst in der Grundschule habe ich an arithmetischen Problemen im Binärsystem gearbeitet, so etwas eben. Einfach weil es mich faszinierte." Dieser letzte Nebensatz beschreibt den ganzen Menschen — einen intellektuellen Appetit ohne jeden instrumentellen Zweck.

Er erwarb 1965 einen Bachelor und 1966 einen Master, beides in Elektrotechnik und Informatik, an der University of California, Berkeley, wo sein Betreuer der Codierungstheoretiker Elwyn Berlekamp war. Die Bell Laboratories stellten ihn 1966 im Computing Sciences Research Center in Murray Hill, New Jersey, ein.

Unix

Zwischen 1967 und 1969 arbeitete Thompson an Multics, dem ehrgeizigen gemeinsamen Timesharing-Projekt zwischen den Bell Labs, dem MIT und General Electric. Multics war riesig, langsam und verspätet; die Bell Labs zogen sich zurück. Was Thompson daraus mitnahm, war die Überzeugung, dass die Ideen richtig waren, aber die Ausführung falsch.

Die Entstehungsgeschichte ist gut belegt und leicht absurd. Er wollte weiterhin Space Travel spielen, ein Spiel, das er geschrieben hatte, und er wollte eine anständige Arbeitsumgebung. Auf einem ausgemusterten PDP-7 baute er mit minimalen Ressourcen und ohne institutionelle Unterstützung den Kern eines Betriebssystems: ein hierarchisches Dateisystem, Prozesse, Gerätedateien, die wie normale Dateien behandelt wurden, einen Befehlszeileninterpreter getrennt vom Kernel und Pipes zur Verknüpfung von Programmen. Jedes davon ist heute so Standard, dass es Mühe kostet, sie als Entscheidungen zu betrachten.

Die Designphilosophie war Kompression. Anstatt eines Systems, das jeden Bedarf antizipierte, bot Unix eine kleine Anzahl zusammensetzbarer Primitive und ließ die Benutzer zusammenbauen, was sie wollten. Bis 1973 gab es mehr als zwanzig Installationen. Um die Nicht-Kernel-Teile einfacher zu schreiben, schuf Thompson die Programmiersprache B, abgeleitet von BCPL, die Ritchie dann zu C weiterentwickelte — der Sprache, in der noch heute die meiste Infrastruktursoftware der Welt geschrieben wird.

DER KOSTENLOSE TEST
Wie hoch ist Ihrer?

Zwanzig Fragen, acht Minuten auf der Uhr und ein Perzentil, gemessen an allen bisherigen Teilnehmern. Ohne Anmeldung.

IQ-Test starten →

Kleine Werkzeuge, tiefe Wurzeln

Thompsons andere Arbeiten haben dieselbe Handschrift: eine kompakte Idee, die sich als tragfähig erweist. Er implementierte reguläre Ausdrücke in den Editoren QED und ed und entwickelte die Thompson-Konstruktion, den Algorithmus zur Umwandlung eines regulären Ausdrucks in einen endlichen Automaten. Fast jede heute verwendete Engine für reguläre Ausdrücke ist ein Nachfahre dieser Notation.

Er baute 1971 ein Schachprogramm und entwickelte dann mit Joseph Condon Belle, eine spezielle Schachmaschine, die das Computerschach in ihrer Ära dominierte, und erstellte danach die vollständigen Endspieldatenbanken für Vier-, Fünf- und Sechs-Steine-Endspiele — erschöpfende Lösungen für ganze Klassen von Schachpositionen, eine Arbeit, die die Theorie des Endspiels dauerhaft veränderte.

1992 entwickelte er zusammen mit Rob Pike UTF-8, die Zeichencodierung, die es einem einzelnen Byte-Stream ermöglicht, jedes Skript auf der Erde zu übertragen, während sie mit ASCII kompatibel bleibt. Sie macht heute mehr als 90 Prozent des Webs aus. Er war auch maßgeblich an Plan 9 beteiligt, dem verteilten Betriebssystem, das die Bell Labs Mitte der 1980er Jahre bauten, um die Unix-Ideen weiter voranzutreiben, als Unix selbst es konnte.

Seine Turing-Vorlesung von 1983, "Reflections on Trusting Trust", beschrieb einen Compiler, der eine Hintertür in Programme einfügt, die er kompiliert, und auch in zukünftige Versionen seiner selbst, sodass der bösartige Code nirgendwo in einer Quelle erscheint, die irgendjemand lesen kann. Der Thompson-Hack ist ein grundlegendes Dokument der Computersicherheit; der Quellcode wurde 2023 kommentiert und veröffentlicht.

Google und Go

Thompson ging Ende 2000 bei den Bell Labs in den Ruhestand und kam 2006 zu Google, wo er zusammen mit Rob Pike und Robert Griesemer die Programmiersprache Go entwickelte. Sein Bericht über die Motivation ist direkt: "Wir drei haben uns zusammengesetzt und beschlossen, dass wir C++ hassen", eine Sprache, die er als "einen Müllhaufen von sich gegenseitig ausschließenden Ideen" bezeichnet hat. Go wurde unter der Regel gebaut, dass alle drei Entwickler von jedem Feature überzeugt sein mussten, was eine Disziplin ist, um eine Sprache klein zu halten.

Die Ehrungen häuften sich stetig: Wahl in die National Academy of Engineering 1980, IEEE Emanuel R. Piore Award 1982, ACM Turing Award zusammen mit Ritchie 1983, National Academy of Sciences 1985, IEEE Richard W. Hamming Medal 1990, Computer Pioneer Award 1994, ein Stipendium des Computer History Museum 1997, National Medal of Technology 1998, der erste Tsutomu Kanai Award 1999 und der Japan-Preis für Information und Kommunikation 2011.

Warum Ken ein Genie genannt wird

Die Turing-Auszeichnung der ACM enthält eine ungewöhnlich präzise Behauptung, und es lohnt sich, sie zu zitieren, weil sie die Qualität genau lokalisiert: "Der Erfolg des UNIX-Systems beruht auf seiner geschmackvollen Auswahl weniger Schlüsselideen und ihrer eleganten Umsetzung... Das Genie des Unix-Systems ist sein Rahmen, der es Programmierern ermöglicht, auf der Arbeit anderer aufzubauen."

Geschmack ist das operative Wort. Thompsons Talent ist subtraktiv — eine Fähigkeit, die kleinste Menge an Konzepten zu identifizieren, die den größten Raum an nützlichem Verhalten erzeugt, und dann alles andere abzulehnen. Pipes sind das kanonische Beispiel: ein trivialer Mechanismus, um die Ausgabe eines Programms mit der Eingabe eines anderen zu verbinden, was eine Sammlung kleiner Werkzeuge in ein kombinatorisches System verwandelt. Reguläre Ausdrücke, UTF-8 und Go zeigen alle dasselbe Muster von minimal ausreichendem Design. Er wird routinemäßig unter den größten Programmierern genannt, die je gelebt haben, und das Urteil kommt eher von Leuten, die beruflich Code schreiben, als von Preiskomitees.

Das Gegenargument ist dünner als bei den meisten auf dieser Liste, aber es existiert. Unix war eine Gemeinschaftsleistung — Ritchie, Brian Kernighan, Douglas McIlroy, der Pipes vorschlug, und andere haben es tiefgreifend geprägt, und der Turing Award wurde geteilt. Viele Unix-Ideen wurden von Multics übernommen, anstatt sie ganz neu zu erfinden. Thompson hat kein theoretisches Ergebnis in der Informatik hervorgebracht, und sein Einfluss liegt vollständig in Artefakten und Designurteilen. Ob das Genialität oder ein außerordentlich gut entwickeltes Handwerk darstellt, ist eine faire Frage. Die ehrlichste Antwort ist, dass sich beides in der Software nur schwer trennen lässt, und Thompsons Handwerk hat sich als folgenreicher erwiesen als die Theorien der meisten Leute.

Vermächtnis

Linux, macOS, Android, iOS und die Software, auf der praktisch jeder Internetserver läuft, gehen auf Entscheidungen zurück, die Thompson 1969 allein auf einer weggeworfenen Maschine traf. Seine Zeichencodierung überträgt fast den gesamten geschriebenen Text online. Sein Algorithmus für reguläre Ausdrücke steckt in jedem Texteditor. Er nahm 2024 eine lange mündliche Geschichte für das Computer History Museum auf und hat seine späteren Jahre, nachdem er Apple-Produkte aufgegeben hat, damit verbracht, das Raspberry Pi OS auszuführen.

Mit den Größten vergleichen

Kim Ung Yong vs Srinivasa RamanujanAugustine Of Hippo vs Louis PasteurFriedrich Nietzsche vs Isaac NewtonAristotle vs Linus Pauling
Zum Ranking →Alle Vergleiche →

Wunderkinder

Tathagat Avatar TulsiTathagat Avatar TulsiEarned a BSc at 11, an MSc at 12, and became an IIT professor…Lydia SebastianMensa Score 162 at Age 12 — Indian-British Doctor's Daughter…Colin CarlsonBegan university courses at nine and now forecasts the next…Rayssa LealRayssa LealViral 'Fairy of Skate' who won Olympic street silver at age 13
Wunderkinder →

Spiele und komm morgen wieder

Tägliche Genie-Challenge · Brain teaser
A farmer has 17 sheep. All but 9 run away. How many are left?
Tippe deine Antwort ↓
Welches Genie bist du? Kostenloser IQ-Test