Bjarne Stroustrup

Bjarne Stroustrup: Eleganz mit Geschwindigkeit verbinden

Bjarne Stroustrup wollte etwas, das auf dem Papier wie ein Widerspruch klang: eine Sprache, in der er Programme schreiben konnte, „so elegant wie Simula-Programme, aber so effizient wie C-Programme“. Simula war langsam und akademisch; C war schnell und unerbittlich. Stroustrup verbrachte die nächsten vier Jahrzehnte damit zu beweisen, dass der Widerspruch nur scheinbar war, und baute dabei die Sprache, die noch heute die Betriebssysteme, Browser, Game-Engines und Handelsplattformen der Welt antreibt.

Ein Arbeiterklassen-Start in Aarhus

Stroustrup wurde am 30. Dezember 1950 in Aarhus, Dänemark, in eine Arbeiterfamilie geboren und studierte von 1969 bis 1975 Mathematik mit Schwerpunkt Informatik an der Universität Aarhus. Anschließend ging er an die Universität Cambridge für einen Doktortitel in Informatik, den er 1979 unter David Wheeler abschloss und der sich auf verteilte Systeme konzentrierte. Es war in Cambridge und durch den Einfluss von Kristen Nygaard – einem der beiden Erfinder von Simula und der objektorientierten Programmierung selbst –, dass Stroustrup die Ideen über Klassen, Vererbung und Abstraktion aufnahm, die sein Lebenswerk definieren sollten. Er hat gesagt, dass seine Konfrontation mit der Ausdruckskraft von Simula, kombiniert mit der Frustration darüber, wie unpraktisch langsam die Ausführung war, das spezifische Problem pflanzte, das C++ lösen sollte.

Bell Labs und die Geburt von „C with Classes“

1979 trat Stroustrup dem Computer Science Research Center der AT&T Bell Labs in Murray Hill, New Jersey, bei – derselben Forschungskultur, die Unix und die Sprache C selbst hervorgebracht hatte. Dort begann er, C mit Klassen im Simula-Stil zu erweitern, und nannte das Ergebnis zunächst „C with Classes“. Das interne Referenzhandbuch für das, was in C++ umbenannt werden sollte, erschien 1984, und die Sprache erreichte 1985 die kommerzielle Veröffentlichung, im selben Jahr, in dem Stroustrup die erste Ausgabe von „The C++ Programming Language“ veröffentlichte, ein Buch, das vier Auflagen erleben und in einundzwanzig Sprachen übersetzt werden sollte. Er baute C++ bewusst als Erweiterung von C und nicht als Sprache auf der grünen Wiese, eine Entscheidung, die ihn etwas theoretische Reinheit kostete, ihm aber sofortige Kompatibilität mit einer riesigen bestehenden Codebasis und Toolchain einbrachte – ein pragmatischer Kompromiss, der mehr als alles andere bestimmte, wie schnell sich die Sprache verbreitete. Er leitete die Abteilung für Large-Scale Programming Research der AT&T Bell Labs von ihrer Gründung bis Ende 2002 und wurde 1993 zum Bell Labs Fellow und 1996 zum AT&T Fellow ernannt.

Was C++ tatsächlich hinzufügte

C++ ergänzte C um ein statisches Typsystem, das benutzerdefinierte Typen mit der gleichen Ernsthaftigkeit behandelte wie eingebaute, objektorientierte Programmierung basierend auf Simulas Klassen und Vererbung, und – in einem späteren und wohl einflussreicheren Schritt – generische Programmierung durch Templates, wodurch Code einmal geschrieben und für viele Typen spezialisiert werden konnte, ohne die Geschwindigkeit zu opfern. Sein Ressourcenverwaltungs-Idiom, RAII (Resource Acquisition Is Initialization), verknüpfte die Lebensdauer einer Ressource über Konstruktoren und Destruktoren mit der Lebensdauer eines Objekts, ein Muster, das eine Klasse von Speicher- und Ressourcenleck-Fehlern löste, die C-Programmierer jahrelang geplagt hatten, und das später die Ressourcenhandhabungsdesigns von Sprachen mit Garbage Collection beeinflusste. Entscheidend war, dass nichts davon auf Kosten des direkten Zugriffs von C auf Hardware- und Betriebssystemressourcen ging – die Effizienzhälfte von Stroustrups ursprünglichem Ehrgeiz wurde nie für die Eleganzhälfte geopfert.

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 →

Eine Sprache durch die Standardisierung führen

Stroustrup hat C++ nicht einfach erfunden und sich dann abgewandt. Er war Gründungsmitglied der ANSI-Standardisierungsbemühungen 1989 und des nachfolgenden ISO-Komitees 1991 und leitete vierundzwanzig Jahre lang die Evolution Working Group des Komitees – das Gremium, das jede vorgeschlagene Ergänzung der Sprache prüft. Das ist eine ungewöhnlich lange Amtszeit für den Schöpfer einer Programmiersprache, und es bedeutete, dass Stroustrup persönlich gestaltete, wie C++ jahrzehntelange neue Anforderungen aufnahm, von Concurrency-Unterstützung bis hin zu Compile-Time-Metaprogrammierung, ohne den riesigen Bestand an bestehendem C++-Code zu zerstören, der bereits in der Produktion lief.

Akademische und industrielle Karriere nach den Bell Labs

Nach den Bell Labs wechselte Stroustrup 2002 als College of Engineering Chair Professor an die Texas A&M University und wurde 2011 University Distinguished Professor. 2014 trat er als Technical Fellow und Managing Director bei Morgan Stanley ein, während er gleichzeitig eine Gastprofessur an der Columbia University innehatte, und seit 2022 ist er ordentlicher Professor für Informatik an der Columbia – ein ungewöhnlicher Karriereverlauf im Spätstadium, der den Erfinder einer Systemsprache in das Zentrum der Technologie einer Wall-Street-Handelsfirma stellte.

Auszeichnungen und Anerkennung

Stroustrups Ehrungen spiegeln seinen übergroßen Einfluss wider und nicht einen einzelnen gefeierten Durchbruch: der ACM Grace Murray Hopper Award 1993, die Wahl zum ACM Fellow und IEEE Fellow 1994, der William Procter Prize for Scientific Achievement 2005 (der erste Informatiker, der ihn erhielt), die IET Faraday Medal 2017 und der Charles Stark Draper Prize 2018 „für die Konzeption und Entwicklung der Programmiersprache C++“. Das Computer History Museum erkannte ihn 2015 als Fellow an und würdigte ihn dafür, „objektorientierte Programmierung und generische Programmierung in den Mainstream gebracht zu haben“. Er hat den ACM Turing Award nicht erhalten.

Warum Bjarne ein Genie genannt wird

Das Argument, Stroustrup ein Genie zu nennen, beruht nicht auf einem einzigen Geniestreich theoretischer Originalität – Objektorientierung kam von Nygaard und Dahl, generische Programmierung hatte Vorläufer, und C existierte bereits. Es beruht stattdessen auf einer selteneren Art von technischem Urteilsvermögen: der Fähigkeit, Ideen zu verschmelzen, von denen das Fachgebiet angenommen hatte, dass sie im Spannungsverhältnis stünden, ohne eine von beiden zu zerstören, und diesen Kompromiss über ein Vierteljahrhundert an Standardisierungsentscheidungen hinweg korrekt zu treffen, während sich die Informatik selbst unter der Sprache veränderte. Die Draper-Preis-Zitation würdigt ihn für die „Konzeption und Entwicklung“ von C++, eine Sprache, die Synthese statt reiner Erfindung anerkennt. Das ehrliche Gegenargument ist substanziell: C++ wird weithin kritisiert, auch innerhalb des Fachgebiets, für seine angehäufte Komplexität, seine Aussetzung von Programmierern gegenüber Speichersicherheitsfallen, die neuere Sprachen wie Rust explizit eliminieren sollten, und für Designkompromisse, die direkt auf Stroustrups Gründungsentscheidung zurückzuführen sind, abwärtskompatibel mit C zu bleiben. Sein Genie, wenn das Wort zutrifft, liegt eher in meisterhaftem Handwerk und Verwaltung – etwas enorm Nützliches und Unvollkommenes zu bauen und es dann vierzig Jahre lang zusammenzuhalten – als in einem Blitz reiner abstrakter Einsicht.

Vermächtnis

C++ bleibt grundlegend für Betriebssysteme, Browser, Game-Engines und Finanzhandelssysteme, und sein Einfluss zieht sich sichtbar durch Java, C# und Rust. Stroustrups eigene Einschätzung seines Lebenswerks war schon immer charakteristisch unsentimental: Er baute ein Werkzeug, das benutzt werden sollte, und an diesem Maßstab – schiere, jahrzehntelange Allgegenwart – gemessen, war C++ erfolgreicher als fast jede andere Programmiersprache der Geschichte.

Mit den Größten vergleichen

Sun Tzu vs William James SidisCharles Dickens vs VoltaireJames Clerk Maxwell vs Ren DescartesImmanuel Kant vs Niels Bohr
Zum Ranking →Alle Vergleiche →

Wunderkinder

Macaulay CulkinMacaulay CulkinCarried Home Alone to global blockbuster status and became the…Connie TalbotBritain's Got Talent Finalist at Age 6 — Debut Album Platinum…Shakuntala DeviShakuntala DeviMultiplied two 13-digit numbers in her head in 28 secondsJeremy ShulerCornell University at 12 — Reading at 21 Months, Top-Decile SAT…
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