Ken Thompson: Der stille Architekt unserer digitalen Welt
Von DerSchneider
Es gibt Persönlichkeiten, deren Einfluss auf unsere Welt so tiefgreifend ist, dass wir ihre Arbeit täglich nutzen, ohne ihren Namen zu kennen. Ken Thompson ist der Inbegriff eines solchen stillen Giganten. Wer heute ein Terminal öffnet, im Internet surft, auf einem Smartphone tippt oder auch nur dieses Dokument liest, bewegt sich in einer Infrastruktur, die Thompson maßgeblich mitgeschaffen hat. Er ist nicht nur der Miterfinder von Unix, dem Betriebssystem, das den digitalen Universalismus erst ermöglichte, sondern auch der Entwickler der Programmiersprache B (der Vorläuferin von C), der Mitschöpfer des universellen Zeichensatzes UTF-8 und einer der Väter der modernen Programmiersprache Go. Seine Karriere, die sich über mehr als ein halbes Jahrhundert erstreckt, ist eine einzige Abfolge von Fundamentalarbeiten der Informatik. Dieser Artikel zeichnet das Leben und Werk eines Mannes nach, den viele für den größten lebenden Programmierer halten, und beleuchtet dabei nicht nur seine Erfolge, sondern auch die Philosophie und die unkonventionellen Wege, die ihn zu einem der einflussreichsten Technikpioniere unserer Zeit gemacht haben.
1. Die Geburt eines Logikers: Vom Binärsystem zum Bell Labs (1943–1966)
Kenneth Lane Thompson wurde am 4. Februar 1943 in New Orleans, Louisiana, geboren. Schon in der frühen Kindheit zeigte sich eine für sein späteres Leben prägende Faszination: die für Logik. Während andere Kinder mit Zahlen rechneten, dachte Thompson über das Wesen der Zahlen nach. Auf die Frage, wie er programmieren lernte, antwortete er einmal: „Ich war schon immer fasziniert von Logik. Schon in der Grundschule habe ich mich mit arithmetischen Problemen im Binärsystem beschäftigt und solchen Dingen. Einfach, weil es mich faszinierte.“ In einer Zeit, in der Computer noch ganze Räume füllten und Binärcode eher eine esoterische Randerscheinung war, suchte sich der junge Thompson bereits sein eigenes Terrain.
Diese Leidenschaft führte ihn an die University of California, Berkeley, wo er Elektrotechnik studierte. 1965 schloss er sein Bachelorstudium ab, nur ein Jahr später folgte der Masterabschluss – eine beeindruckende Geschwindigkeit, die sein außergewöhnliches Talent unterstrich. Sein Mentor war der berühmte Informationstheoretiker und Spieltheoretiker Elwyn Berlekamp . Doch Thompson war weniger der klassische akademische Theoretiker. Er war ein Bastler, ein Tüftler, der die Dinge gerne selbst anfasste und verstand. Das Studium gab ihm das Rüstzeug, seine Neugierde in die Tat umzusetzen.
1966, frisch von der Universität, trat Thompson eine Stelle an, die seine Karriere für die nächsten 34 Jahre bestimmen sollte: Er wurde Forscher bei den Bell Laboratories in Murray Hill, New Jersey . Die Bell Labs waren damals das, was man sich unter einem modernen El Dorado der Wissenschaft vorstellt. Hier, in dieser einzigartigen Mischung aus akademischer Freiheit und industrieller Schlagkraft, arbeiteten Nobelpreisträger neben Ingenieuren an den Grundlagen der Zukunft. Für einen jungen Mann mit Thompsons Neugier und Begabung war dies der perfekte Nährboden.
2. Die Geburt von Unix: Spieltrieb als Innovationsmotor (1969–1970)
Kaum bei Bell Labs angekommen, wurde Thompson Teil eines ehrgeizigen Gemeinschaftsprojekts: Multics (Multiplexed Information and Computing Service). Gemeinsam mit dem Massachusetts Institute of Technology (MIT) und General Electric arbeitete das Labor an einem revolutionären, zeitteilenden Betriebssystem, das vielen Nutzern gleichzeitig die Arbeit an einem großen Rechner ermöglichen sollte. Thompson programmierte in diesem Umfeld eine Spiele-Simulation namens „Space Travel“, die die Bewegungen im Sonnensystem simulierte . Doch 1969, nach einigen Jahren, zog sich Bell Labs aus dem zunehmend aufgeblähten und teuren Multics-Projekt zurück. Für Thompson ein herber Schlag – er hatte nun keinen Rechner mehr, auf dem er sein Spiel laufen lassen konnte.
Was dann geschah, ist eine der berühmtesten Anekdoten der Computergeschichte und ein perfektes Beispiel für Thompsons unkonventionelle Problemlösungsstrategie. Anstatt das Spiel aufzugeben, beschloss er kurzerhand, sein eigenes Betriebssystem zu schreiben, um es spielen zu können. Er fand eine veraltete, wenig genutzte PDP-7-Minimaschine, die eher Staub ansetzte als Rechenleistung lieferte . Innerhalb eines Monats, in einer Zeit, in der seine Frau und sein kleiner Sohn verreist waren und er ungestört arbeiten konnte, erschuf Thompson etwas Außergewöhnliches. Woche für Woche entstanden der Kernel, ein Dateisystem, ein Editor und ein Assembler – die Keimzelle eines neuen Betriebssystems . Sein Kollege Brian Kernighan fand später einen spielerischen Namen dafür: Unics, als Wortspiel auf das gescheiterte Multics, was so viel wie „Uniplexed Information and Computing System“ bedeutete. Später wurde daraus schlicht Unix .
Die entscheidende Pointe dieser Geschichte ist: Thompson entwickelte Unix nicht aus einer strategischen Vision heraus, sondern aus purer Neugier und dem Wunsch, ein persönliches Problem zu lösen. Er wollte seine Umgebung so gestalten, dass sie ihm gehorchte und ihm das Spielen ermöglichte. Diese Haltung – die Software der eigenen Arbeitsumgebung radikal an die eigenen Bedürfnisse anzupassen – sollte zur DNA von Unix werden.
3. Die Unix-Philosophie: Einfachheit als Prinzip
Zunächst war Unix nur ein Werkzeug für Thompson selbst. Doch bald stieß ein Kollege dazu, der die Bedeutung dieser Arbeit erkannte: Dennis Ritchie. Ritchie, ein brillanter Mathematiker und Programmierer, teilte Thompsons Begeisterung und begann, mit ihm zusammenzuarbeiten. Gemeinsam verfeinerten sie das System, und schon bald zeigte sich, dass Unix weit mehr war als nur ein Spielzeug.
Das System, das Thompson und Ritchie schufen, war radikal anders als die monolithischen Betriebssysteme der Zeit. Es basierte auf einer klaren Philosophie, die oft als „Unix-Philosophie“ bezeichnet wird: „Do one thing and do it well“ (Erledige eine Aufgabe, aber mach sie richtig). Anstatt ein riesiges Programm zu schreiben, das alles konnte, bestand Unix aus einer Sammlung kleiner, spezialisierter Werkzeuge. Jedes dieser Werkzeuge erledigte eine einzige Aufgabe – ein Programm zum Auflisten von Dateien, eines zum Sortieren von Text, eines zum Suchen – und kommunizierte mit anderen über einfache Textströme.
Diese modulare, fast asketische Herangehensweise an Komplexität war Thompsons Handschrift. Er hasste unnötigen Ballast und strebte nach Eleganz und Klarheit im Code. Diese Ästhetik, die man fast als puristisch bezeichnen könnte, zog andere Programmierer magisch an. Unix war nicht nur funktional, es war schön in seiner Schlichtheit.
4. B, C und die Portabilität: Die Sprache der Systeme
Ein zentraler Engpass von Unix war zunächst seine Bindung an die PDP-7. Thompson erkannte, dass ein Betriebssystem, das wirklich Schule machen sollte, portabel sein musste – also unabhängig von einer bestimmten Hardware. Um dies zu erreichen, benötigte er eine höhere Programmiersprache. Er entwickelte zunächst eine Sprache namens B, eine stark vereinfachte Version von BCPL .
Doch B stieß an seine Grenzen, insbesondere bei der Nutzung der leistungsfähigeren PDP-11. Hier kam Dennis Ritchie ins Spiel. Er erweiterte und verbesserte B und schuf damit eine neue Sprache: C. 1972/73 schrieben Thompson und Ritchie den Unix-Kernel in C neu . Dies war ein revolutionärer Schritt. Zum ersten Mal war ein Betriebssystem nicht in der maschinenabhängigen Assemblersprache geschrieben, sondern in einer höheren, portablen Sprache. Ein in C geschriebenes Betriebssystem konnte mit einem neuen Compiler auf jede Maschine übertragen werden, die einen C-Compiler besaß. Diese eine Entscheidung legte den Grundstein für die beispiellose Verbreitung von Unix und machte C zur Lingua Franca der Systemprogrammierung.
Die Arbeit an Unix war ein nie endender Dialog zwischen System und Sprache. C wurde entwickelt, um Unix besser zu machen, und Unix wurde zum ultimativen Testfeld für C. Diese symbiotische Beziehung prägte beide für immer.
5. Der Turing-Award und das „Reflections on Trusting Trust“-Manifest (1983)
Die Bedeutung von Unix und C blieb der akademischen Welt nicht verborgen. 1974 veröffentlichten Thompson und Ritchie einen bahnbrechenden Artikel in der Zeitschrift Communications of the ACM mit dem Titel „The UNIX Time-Sharing System“ . Dieser Artikel machte Unix schlagartig bekannt. Universitäten auf der ganzen Welt, darunter auch Thompsons Alma Mater Berkeley, baten um Kopien des Quellcodes. Unix wurde zum Lehr- und Forschungsgegenstand einer ganzen Generation von Informatikern.
Die Anerkennung für diese epochale Leistung erfolgte 1983. Die Association for Computing Machinery (ACM) verlieh Ken Thompson und Dennis Ritchie den Turing Award, die höchste Auszeichnung der Informatik, die oft mit dem Nobelpreis verglichen wird . Sie wurden geehrt „für die Entwicklung der allgemeinen Theorie von Betriebssystemen und insbesondere für die Implementierung des UNIX-Betriebssystems“ .
Doch Thompsons Dankesrede, „Reflections on Trusting Trust“ (Überlegungen zum Vertrauen in Vertrauen), war alles andere als eine gewöhnliche Lobeshymne. Sie wurde zu einem der berühmtesten und erschütterndsten Vorträge in der Geschichte der Informatik. Thompson präsentierte darin ein Gedankenexperiment, das die Grundfesten der Computersicherheit erschütterte. Er zeigte auf, wie man einen Compiler so manipulieren kann, dass er eine Hintertür in jedes Programm einbaut, das er übersetzt – sogar in den Code des Compilers selbst. Wenn dieser manipulierte Compiler verwendet wird, um eine neue Version von sich selbst zu übersetzen, bleibt die Hintertür erhalten, ohne dass im Quellcode jemals eine Spur davon zu finden ist .
Die Botschaft war niederschmetternd und zeitlos: Man kann niemals vollständig sicher sein, dass ein Programm nur das tut, was sein Quellcode vorgibt. Man muss letztlich darauf vertrauen, dass die Werkzeuge, mit denen man die Werkzeuge baut, nicht kompromittiert sind. Dieser Vortrag, der heute als „Thompson-Hack“ oder „Trusting-Trust-Angriff“ bekannt ist, machte Thompson zu einer Ikone nicht nur der Systemprogrammierung, sondern auch der Computersicherheit.
6. Späte Jahre bei Bell Labs: Plan 9, UTF-8 und die „gescheiterten“ Erfolge
Nach dem Triumph von Unix arbeitete Thompson unermüdlich weiter. In den 1980er Jahren begann er mit Kollegen wie Rob Pike an einem Nachfolger für Unix zu arbeiten: Plan 9 from Bell Labs . Das Ziel war ehrgeizig: Die Lektionen von Unix sollten auf ein modernes, verteiltes Netzwerkumfeld übertragen werden. Plan 9 war in vielerlei Hinsicht seiner Zeit voraus, mit Konzepten wie einem globalen Dateisystem, das alle Ressourcen eines Netzwerks vereinte. Es setzte Maßstäbe im Design, konnte sich aber nie gegen die inzwischen weitverbreiteten Unix-Derivate durchsetzen. Aus kommerzieller Sicht galt es als Misserfolg, doch seine Ideen beeinflussen bis heute Forscher und Systementwickler.
Eine der praktischsten und folgenreichsten Erfindungen aus dieser Zeit gelang Thompson 1992 zusammen mit Rob Pike: die UTF-8-Zeichenkodierung . Das Problem war, dass es Dutzende verschiedene Kodierungen für Schriftzeichen gab, was zu Datenmüll führte, sobald man Text zwischen verschiedenen Systemen austauschte. Unicode bot einen einheitlichen Zeichensatz, aber seine ursprüngliche Implementierung war ineffizient und nicht abwärtskompatibel mit ASCII. Thompson entwarf an einem Abend in einem New Yorker Diner eine Kodierung, die beides konnte: Sie war kompatibel mit ASCII und konnte dennoch jedes Unicode-Zeichen effizient darstellen. UTF-8 wurde zur dominanten Kodierung des World Wide Web und ist die Grundlage dafür, dass wir heute nahtlos E-Mails in allen Sprachen der Welt lesen und schreiben können .
Parallel zu diesen Projekten blieb Thompson seiner Leidenschaft für Schach treu. Gemeinsam mit Joseph Condon entwickelte er den Schachcomputer „Belle“, der 1980 die Weltmeisterschaft der Computerschachprogramme gewann . Zudem erstellte er sogenannte Endspieldatenbanken, die für Positionen mit wenigen Figuren auf dem Brett die absolut perfekte Spielweise berechneten. Dies war eine gewaltige technische Herausforderung und ein Meilenstein für die KI-Forschung im Spiel.
7. Go, Google und das Vermächtnis
Im Jahr 2000, nach 34 Jahren, verließ Thompson die Bell Labs. Nach einer Zwischenstation bei einem Startup wechselte er 2006 zu Google . Dort traf er auf alte Weggefährten wie Rob Pike und Robert Griesemer. Gemeinsam standen sie vor einem Problem, das viele bei Google teilten: Die existierenden Programmiersprachen waren für die riesigen, verteilten Systeme des Unternehmens nicht optimal geeignet. C++ war zu komplex und fehleranfällig, Python zu langsam.
Und so geschah, was Thompson bereits in den Bell Labs getan hatte: Er schuf sich sein Werkzeug selbst. Die drei begannen mit der Entwicklung einer neuen Sprache, die sie Go nannten. „Als wir drei anfingen, war es reine Forschung“, sagte Thompson später. „Wir kamen zusammen und beschlossen, dass wir C++ hassen. [Gelächter] … Wir begannen mit der Idee, dass alle drei von jedem Feature in der Sprache überzeugt werden mussten, also wurde aus keinem Grund irgendein unnötiger Müll in die Sprache eingebaut“ . Go, das 2009 vorgestellt wurde, ist die logische Fortsetzung von Thompsons Lebenswerk: eine Sprache, die Einfachheit, Klarheit und Effizienz in den Vordergrund stellt und sich großer Beliebtheit erfreut, insbesondere in der Cloud-Infrastruktur.
Interessant ist eine Anekdote, die sein Verhältnis zur eigenen Disziplin zeigt. Obwohl er selbst zu den ganz Großen zählt, riet er seinem Sohn vom Informatikstudium ab. Die Begründung: Die Entwicklung in der Informatik sei zu langsam . Eine Aussage, die paradox erscheint in einer Branche, die von atemloser Innovation geprägt ist. Doch aus Thompsons Perspektive, der die grundlegenden Paradigmen schon vor Jahrzehnten formulierte, mögen die heutigen Fortschritte oft nur wie kleine Variationen auf ein altes Thema erscheinen.
Fazit und Ausblick
Ken Thompson ist mehr als nur ein Programmierer; er ist ein Architekt der digitalen Zivilisation. Sein Werk – Unix, C, UTF-8, Go – ist das stille Fundament, auf dem unsere moderne Informationsgesellschaft ruht. Während andere mit lauten Innovationen Schlagzeilen machen, arbeitete Thompson im Stillen an den Grundlagen, die diese Innovationen erst ermöglichen.
Sein Vermächtnis ist nicht nur technischer, sondern auch philosophischer Natur. Die Unix-Philosophie der Einfachheit, der Modularität und der klaren Schnittstellen hat Generationen von Entwicklern geprägt. Seine Warnung aus der Turing-Award-Rede, dass man letztlich seinen Werkzeugen vertrauen muss, ist heute, in einer Zeit von Supply-Chain-Angriffen und komplexen Softwareabhängigkeiten, aktueller denn je. Ken Thompson hat die Welt nicht nur verändert, indem er Dinge baute, sondern auch, indem er eine Haltung vorlebte: die Haltung des neugierigen, radikal denkenden Ingenieurs, der sich die Welt nach seinen Bedürfnissen formt. In einer Ära, die von Komplexität und oft unnötiger Kompliziertheit geprägt ist, bleibt sein Streben nach Klarheit und Einfachheit ein zeitloses Vorbild.
Kommentar abschicken