Suche
Close this search box.
Suche
Close this search box.

Niklaus Wirth: Nachruf und Würdigung

„Zum Teufel mit der KI“. Diese Antwort auf die Frage eines Journalisten an Niklaus Wirth, wie er das Thema „Künstliche Intelligenz“ beurteile, weckt Erinnerungen an einen berühmten Ausruf von Albert Einstein, der seine Skepsis zur Quantentheorie mit den Worten „Gott würfelt nicht“ zum Ausdruck brachte. In beiden Fällen steht die Ablehnung einer grundsätzlich neuen Richtung der Wissenschaft den eigenen, epochalen Leistungen in ebendieser Wissenschaft gegenüber.

Niklaus Wirth  1934-2024

Niklaus Wirth war neben Edsger W. Dijkstra und C.A.R. Hoare einer der drei Pioniere, die im vergangenen Jahrhundert die aufkeimende Wissenschaft der Informatik entscheidend geprägt haben. Alle drei wurden mit dem nach dem Urpionier Alan Turing benannten Turing Award, der höchsten wissenschaftlichen Auszeichnung in der Informatik, geehrt.

Im Gegensatz zum bereits früher verstorbenen Dijkstra und dem Theoretiker Hoare hat in der Wirth’schen Forschung stets die Engineering Komponente eine substanzielle Rolle gespielt. Die sprichwörtliche „School of Wirth“ zeichnete sich ganz besonders dadurch aus, dass Theorie und Formalismus stets minimalistisch angelegt waren und sich durch Nützlichkeit in einer konstruktiven Anwendung rechtfertigen mussten. Solange sie der Sache dienten, waren ihm auch sehr abstrakte Prinzipien lieb und teuer, wie etwa die von ihm selbst entwickelte Methode der schrittweisen Verfeinerung oder das mathematische Prädikatenkalkül zum Beweis der Korrektheit von Algorithmen und Programmen. Legendär war Wirths Sinn für das Wesentliche und, damit eng verbunden, sein Sinn für Einfachheit und Schnörkelfreiheit. In meiner langen Zeit der Zusammenarbeit habe ich in den Wirth’schen Programmen stets die ultimativ elegante, bisweilen geniale Einfachheit bewundert. Intransparenz war ihm ein Gräuel, und so hatte er für all die Programmierassistenten und Automatismen moderner Software-Entwicklungsumgebungen wenig übrig und qualifizierte sie nicht selten mit dem bitterbösen Dijkstra’schen Zitat „how to program if you can’t“ ab.

Als ich selbst im Jahre 1968 bei der damaligen Swissair in die Programmierung eingestiegen bin, fand ich mich alsbald in der Systemprogrammierung der IBM 360 Grossrechner wieder. In den frühen 70er Jahren kannte ich den Namen Wirth natürlich bereits und war ihm auch schon ehrfürchtig in Person begegnet. Ich kannte seine grandiosen Erfolge mit der Programmiersprache Pascal, deren konsequentes Typensystem die Früherkennung von Programmierfehlern ermöglichte, die Äpfel für Birnen vormachen wollten. Allerdings sah ich damals keinerlei Zusammenhang zwischen seiner Programmiersprache und meinen akribischen Aktivitäten mit Bits und Bytes auf der Ebene der Maschinensprache. Es waren zwei verschiedene Welten im selben Universum.

Erst ein gutes Jahrzehnt später, nach dem Abschluss meines Doktorates in Mathematik, wollte ich es dann doch noch genauer wissen und bewarb mich erfolgreich auf ein zufällig gesichtetes Inserat, in welchem Niklaus Wirth Mitarbeiter für sein soeben an der ETH gestartetes Projekt zur Entwicklung von „persönlichen“ Arbeitsplatzrechnern einer neuen Generation suchte. Meine seinerzeitige Skepsis gegenüber „höheren“ Programmiersprachen für systemnahe Aufgaben verflog dann umgehend und wich alsbald der Einsicht, dass sich Abstraktionen wie diejenige der Sprache Modula-2, dem Nachfolger von Pascal, für ebensolche Aufgaben ausgezeichnet eignen. Das ultimativ überzeugende Argument war die erfolgreiche Realisierung der radikalen Wirth’schen Vision, nämlich die Formulierung der gesamten Software des neuen Arbeitsplatzrechners, Lilith genannt, einschliesslich Benutzerschnittstelle, Betriebssystem und Modula-2 Compiler in der Sprache Modula-2 selbst. Möglich wurde dies durch die raffinierte, bereits aus der Pascal Zeit bekannte Methodik: Modula-2 Programme wurden zunächst in einen maschinenunabhängigen Zwischencode übersetzt, welcher dann effizient auf realen Maschinen interpretiert werden konnte. 

Niklaus Wirth in 1984, together with the personal workstation Lilith developed by him

Niklaus Wirth im Jahr 1984, als er den Turing Award erhalten hat. Links im Bild ein Exemplar des von Niklaus Wirth entwickelten persönlichen Arbeitsplatzrechners Lilith.


Bildnachweis
Dieses Bild: Niklaus Wirth / ETHZ

Übrige Bilder: zVg von Jürg Gutknecht


Der nächste und letzte Schritt meiner Zusammenarbeit mit Wirth bestand in der Flexibilisierung des starren Modula-2 Typsystems in Form einer dynamischen, nach oben offenen Typenhierarchie, wodurch laufende Systemerweiterungen ohne Preisgabe des „strong typing“ und der damit verbundenen Früherkennbarkeit von Programmierfehlern möglich wurden. Diese Evolution führte zur Programmiersprache Oberon und war ein gewinnbringender Schritt in Richtung „objektorientierte Programmierung“, welche Wirth in ihrer Ganzheit als „zu pompös“ vorkam. Abermals wurde die Sprache als Mittel zum Zweck verwendet, nämlich zur Entwicklung einer neuen, noch kompakteren persönlichen Arbeitsstation namens „Ceres“ auf der Basis einer nächsten Generation von Hardwarekomponenten.

Im internationalen Umfeld erfreuten sich beide Programmiersprachen Modula-2 und Oberon dank ihrer minimalistischen Struktur und dank der vollständig quelloffenen Verfügbarkeit auch grosser Beliebtheit im kommerziellen Umfeld und führten nicht wenige Startup-Unternehmungen zum Erfolg. Von der konsequenten Überprüfung der korrekten Verwendung von Datentypen zur Kompilationszeit konnten vor allem sicherheitskritische Projekte profitieren.

Allerdings ist die Disziplin der Programmierung nach prädikatenlogischen Grundsätzen inzwischen einer Kultur des Software „Engineering“ gewichen, welche dank „smarten“ Frameworks und Packages sowie allerlei virtuellen Assistenten und KI Bots die benötigten Kompetenzen und damit die Eintrittsschwelle in die Entwicklung von Software substanziell gesenkt hat, mit der positiven Konsequenz dass die Türen für eine explosionsartig erweiterte Population von Software-Entwicklern in einer sich ebenso explosionsartig erweiternden Welt von Anwendungsbereichen geöffnet werden konnten und der negativen Konsequenz, dass die hohe Qualität der Programmierung nach Wirth’schen Masstäben weitestgehend geopfert werden musste. Der Beweis für letzteres sind allgegenwärtige, stupide Fehlermeldungen wie „Ein Fehler ist aufgetreten. Probieren Sie es noch einmal“ als Zeichen der Kapitulation der Entwickler, sich unendlich im Kreise drehende Aktivitäten bei Verbindungsversuchen oder ganze Releases, deren einzige Innovation in der Korrektur früherer Programmfehler besteht. Da kommt in Erinnerung an die gute alte Wirth’sche Zeit unumgänglich eine gewisse Wehmut auf.

Apropos Wehmut: In besonders schöner Erinnerung an Niklaus Wirth ist mir neben der wissenschaftlichen seine gesellige Seite geblieben. Unzählige lange Abende in der lauschigen Atmosphäre seines damaligen Landsitzes im Beisein seiner Gattin Diana. Inspirierende Diskussionen über Gott, die Welt, die Wissenschaft und die Programmierung, stets mit dem Resultat, dass wir alles besser wussten.

 

 

 

Jürg Gutknecht ist emeritierter Professor an der ETH Zürich. Von 2014 bis 2018 war er Präsident der SI. In den 1980er Jahren war er einer der engsten Mitarbeiter von Niklaus Wirth. Er war an der Entwicklung der Software für die Arbeitsplatzstationen Lilith und Ceres sowie der Programmiersprache Oberon beteiligt.

Niklaus Wirth  1934-2024

SI Logo

The Swiss Informatics Society SI is the association of Informatics professionals in Switzerland.

Die Schweizer Informatik Gesellschaft SI ist der Verband der Informatikfachleute in der Schweiz.

La Société Suisse d’Informatique SI est l’association des professionnels de l’informatique en Suisse.

La Società Svizzera di Informatica SI è l’associazione dei professionisti dell’informatica in Svizzera.