10. Januar 2024

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 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 zu den Theoretikern Dijkstra und 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 die abstraktesten, mathematischen Prinzipien lieb und teuer, wie beispielsweise das Prädikatenkalkül als methodische Grundlage zur Erzeugung beweisbar fehlerfreier Programme. Legendär war Wirth´s 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, wo ich mich alsbald in der Systemprogrammierung der IBM 360 Grossrechner wiederfand, 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 und deren bahnbrechend konsequentem Typensystem zur Früherkennung von Programmierfehlern, 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. 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 der Verwendung eines so genannten Zwischencodes.

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.

Die Wirth‘schen Tugenden der Einfachheit, Klarheit, Transparenz, Minimalität und Ressourceneffizienz sind Querschnittskompetenzen und haben im wahrsten Sinne des Wortes Schule gemacht. Sie haben ganze Generationen von Informatik Studierenden geprägt und Professionals hervorgebracht, welche heute im In- und Ausland und speziell im ikonischen Silicon Valley einflussreiche Positionen bekleiden und ihrerseits den Wirth´schen Spirit weitertragen und weiterverbreiten.

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.

A propos 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.

 

Der Computerpionier Niklaus Wirth ist am 1. Januar 2024 verstorben. (Foto: ETH News/Niklaus Wirth)

Mit Ihrem Besuch auf unserer Website stimmen Sie unserer Datenschutzerklärung und der Verwendung von Cookies zu. Dies erlaubt uns unsere Services weiter für Sie zu verbessern. Datenschutzerklärung

OK