Brian Kernighan nimmt in der Geschichte der Programmiersprachen eine besondere Stellung ein. Er erfand weder Unix noch C: Diese Beiträge gehen vor allem auf Ken Thompson und Dennis Ritchie zurück. Sein Einfluss liegt darin, Werkzeuge rund um Unix zu bauen, spezialisierte Sprachen mitzuentwickeln und die Ideen der Bell Labs verständlich und übertragbar zu machen.
Sein Name ist mit AWK, entwickelt mit Alfred Aho und Peter Weinberger, sowie mit The C Programming Language, geschrieben mit Ritchie, verbunden. Ratfor, eqn, pic, AMPL und Jahrzehnte der Lehre zeigen darüber hinaus eine konsistente Idee: Ein gutes Werkzeug tut wenige Dinge klar und lässt sich mit anderen kombinieren.
Von Toronto zu den Bell Labs
Brian Wilson Kernighan wurde 1942 in Toronto geboren. Er studierte technische Physik an der University of Toronto und promovierte 1969 in Elektrotechnik in Princeton über Graphpartitionierung. Im selben Jahr wechselte er zu den Bell Laboratories.
Dort entstand Unix um Ken Thompson und Dennis Ritchie. Kernighan arbeitete in diesem Umfeld, testete Werkzeuge, schrieb Programme und Dokumentation und half, aus einem lokalen Prototyp eine nutzbare Umgebung zu machen. Ihm wird auch der Name „Unix“ zugeschrieben, ein Wortspiel mit Multics.
Unix als Werkstatt kleiner Werkzeuge
Die Stärke von Unix liegt nicht nur im Kernel, sondern auch in kleinen Programmen, die einfache Datenströme lesen und schreiben und über Pipelines verbunden werden. Kernighan entwickelte mit Lorinda Cherry eqn für mathematische Formeln und arbeitete an pic für Diagramme sowie an Werkzeugen rund um troff.
Diese Programme folgen einer wichtigen Idee: Eine spezialisierte Notation kann für eine Aufgabe ausdrucksstärker sein als ein allgemeines Werkzeug. Textdateien bleiben lesbar, versionierbar und mit anderen Befehlen kombinierbar - ein Vorläufer heutiger „Docs as Code“- und reproduzierbarer Build-Praktiken.
Ratfor: bessere Ausdrucksweise ohne neue Infrastruktur
Ältere FORTRAN-Versionen waren weit verbreitet, boten aber wenig strukturierte Kontrollformen. Kernighan entwickelte Ratfor (Rational Fortran), das eine modernere Syntax mit Blöcken, Schleifen und Bedingungen in gewöhnliches Fortran übersetzte.
Die Strategie war pragmatisch: Nicht die gesamte vorhandene Compiler-Infrastruktur ersetzen, sondern eine dünne Schicht hinzufügen, die bessere Programme ermöglicht. Software Tools, mit P. J. Plauger, verbreitete diese Methode weiter.
AWK: Muster in Aktionen verwandeln
1977 entwickelten Alfred Aho, Peter Weinberger und Brian Kernighan AWK. Der Name besteht aus ihren Initialen. Das Grundmodell ist kompakt:
condition { action }
AWK liest Datensätze, zerlegt Zeilen automatisch in Felder, prüft Muster und führt Aktionen aus. Eine Summe der zweiten Spalte lässt sich etwa so ausdrücken:
{ total += $2 }
END { print total }
Die Kürze entsteht, weil die Sprache den wiederkehrenden Rahmen übernimmt. AWK liegt zwischen Filterbefehl und allgemeiner Programmiersprache und eignet sich für Extraktion, Aggregation, Konvertierung und Berichte.
K&R: das Buch, das C verständlich machte
Dennis Ritchie entwickelte C Anfang der 1970er-Jahre. Um die Sprache über die Bell Labs hinaus zu verbreiten, schrieb Kernighan mit ihm The C Programming Language, 1978 veröffentlicht und als K&R bekannt.
Das Buch verband Ritchies Wissen über die Sprache mit Kernighans didaktischer Erfahrung. Die erste Ausgabe wurde zur De-facto-Referenz des frühen C, die zweite Ausgabe von 1988 begleitete ANSI C. Kernighans Leistung lag hier nicht in der Erfindung von C, sondern darin, die Sprache für Menschen verständlich zu machen, die nicht neben ihrem Schöpfer arbeiteten.
Die Unix-Philosophie durch Praxis erklären
Mit Rob Pike veröffentlichte Kernighan 1984 The Unix Programming Environment. Das Buch zeigt nicht bloß Befehle, sondern eine Methode: Aufgaben zerlegen, einfache Werkzeuge kombinieren und bei Bedarf eine kleine domänenspezifische Sprache schaffen.
Textpipelines haben Grenzen - Strukturinformationen können verloren gehen und lange Ketten schwer wartbar werden. Die dauerhafte Lehre ist daher nicht, dass alles Text sein müsse, sondern dass einfache Schnittstellen und explizite Komposition Integrationskosten senken.
Kleine Sprachen für präzise Probleme
Mit Robert Fourer und David Gay entwickelte Kernighan AMPL für mathematische Optimierungsmodelle. Nutzer beschreiben Variablen, Bedingungen und Ziele, während ein Solver die numerische Lösung übernimmt.
Wie eqn und AWK bringt AMPL die Sprache näher an das Problem. Diese Idee kleiner, domänenspezifischer Sprachen lebt heute in Abfragesprachen, Konfigurationen, Build-Systemen und Visualisierungsnotationen weiter.
Programmierpraxis und Lehre
Kernighans Bücher The Elements of Programming Style mit P. J. Plauger und The Practice of Programming mit Rob Pike behandeln Lesbarkeit, Entwurf, Debugging, Tests, Leistung, Portabilität und Schnittstellen. Stil ist darin keine Dekoration: Lesbarer Code legt Annahmen offen und kleine Schnittstellen begrenzen Abhängigkeiten.
Nach drei Jahrzehnten bei Bell Labs wechselte Kernighan 2000 nach Princeton und lehrte dort Informatik sowie die gesellschaftlichen Folgen digitaler Systeme.
Warum Brian Kernighan weiterhin wichtig ist
Kernighans Vermächtnis verbindet Werkzeuge, Sprachen und Erklärung. Er zeigte, dass ein kleines Werkzeug große Wirkung entfalten kann, wenn seine Schnittstelle klar ist, und dass technische Ideen erst dann breite Wirkung bekommen, wenn sie verständlich dokumentiert und gelehrt werden.
Chronologie
- 1942: Geburt in Toronto.
- 1969: Promotion in Princeton und Eintritt in die Bell Labs.
- 1970er-Jahre: Arbeit an Unix-Werkzeugen, Ratfor,
eqn und pic.
- 1977: Entwicklung von AWK mit Aho und Weinberger.
- 1978: erste Ausgabe von The C Programming Language mit Dennis Ritchie.
- 1984: The Unix Programming Environment mit Rob Pike.
- 1988: zweite K&R-Ausgabe für ANSI C.
- 2000: Wechsel nach Princeton.
- Heute: AWK, K&R und die Unix-Werkzeugkultur prägen weiterhin Programmierpraxis und Lehre.
Häufig gestellte Fragen
Hat Brian Kernighan C erfunden?
Nein. Dennis Ritchie war der Hauptentwickler von C. Kernighan half entscheidend dabei, die Sprache zu dokumentieren, zu lehren und zu verbreiten.
Wer hat AWK entwickelt?
Alfred Aho, Peter Weinberger und Brian Kernighan entwickelten AWK gemeinsam; der Name besteht aus ihren Nachnameninitialen.
Warum ist K&R so wichtig?
Das Buch gab C eine präzise, beispielorientierte und weithin verfügbare Beschreibung, bevor eine offizielle Norm existierte, und prägte zugleich einen klaren Programmierstil.
Was ist die zentrale Idee hinter Kernighans Werkzeugen?
Komplexe Aufgaben in kleine, verständliche Teile zerlegen, einfache Schnittstellen verwenden und spezialisierte Werkzeuge kombinieren.
Wird AWK noch verwendet?
Ja. AWK bleibt auf Unix-ähnlichen Systemen ein nützliches Werkzeug für schnelle Textverarbeitung, Berichte, Datenextraktion und Automatisierung.