Member of SCNAT

The Swiss Physical Society (SPS) is the national professional association of Physicists coming from teaching, research, development and industry. The diversity of modern research in physics is reflected in ten specific sections.

Image: ESO

Niklaus Wirth: Nachruf und Würdigung

Jeder Physikerin, jedem Physiker, der sich im Lauf seiner Karriere mit Programmieren beschäftigte, ist der Name Niklaus Wirth ein Begriff, dem Vater von Programmiersprachen wie Pascal, Modula-2 und Oberon. Prof. Wirth starb am 1. Januar 2024 im Alter von fast 90 Jahren. Nachstehend bringen wir einen Nachruf von seinem engen Mitarbeiter Prof. Jürg Gutknecht.

Niklaus Wirth

Niklaus Wirth war neben Edsger W. Dijkstra und C. A. R. Hoare einer von drei Pionieren, 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 die Engineering Komponente stets eine zentrale Rolle gespielt. Theorie und Formalismus waren in seinen Projekten durchwegs minimalistisch angelegt sind und mussten sich durch ihre Nützlichkeit in einer konstruktiven Anwendung rechtfertigen. Solange sie der Sache dienten, waren Wirth aber auch sehr abstrakte Prinzipien lieb und teuer, wie etwa die von ihm selbst entwickelte Programmiermethodik der schrittweisen Verfeinerung, die konsequente Typisierung von Daten oder das mathematische Prädikatenkalkül zum statischen Beweis der Korrektheit von Algorithmen.

Die von ihm in den Jahren 1968 - 1972 entwickelte Sprache "Pascal" erfreute sich weltweit zunehmender Beliebtheit, nicht zuletzt wegen Verfügbarkeit auf "persönlichen" Rechnern wie etwa Apple II. Später entwarf er die Pascal-Nachfolger Modula (1973 - 1976), Modula-2 (1977 - 1980) und Oberon (1985 - 1990) und implementierte sie auf dem Arbeitsplatzrechner Lilith. Die Lilith war nach dem Vorbild des Alto Computers aus dem Forschungslabor Xerox PARC im Silicon Valley mit einem hochauflösenden Bildschirm und einer Maus als Eingabegerät ausgerüstet. Meine seinerzeitige Skepsis gegenüber der Eignung „höherer“ Programmiersprachen für systemnahe Aufgaben war inzwischen längst verflogen und der Einsicht gewichen, dass sich geeignete Abstraktionen für solche Aufgaben nicht nur ausgezeichnet eignen, sondern geradezu der Schlüssel zu ihrer Bewältigung sind. Das ultimativ überzeugende Argument lieferte schliesslich die erfolgreiche Realisierung der radikalen Wirth'schen Vision, nämlich die einheitliche Formulierung der gesamten Software des neuen Arbeitsplatzrechners, einschliesslich Benutzerschnitstelle, Anwendungen, 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, M-Code genannt.

Der nächste und letzte Schritt meiner Zusammenarbeit mit Wirth bestand in der Flexibilisierung des starren Modula-2 Datentypsystems in Form einer dynamischen, nach oben offenen Typenhierarchie, wodurch laufende Systemerweiterungen ohne Preisgabe der rigorosen Typenprüfung möglich wurden. Diese Evolution führte zur Programmiersprache Oberon und war ein abermals bewusst minimaler Schritt in Richtung „objektorientierte Programmierung“, welche Wirth in ihrer Ganzheit als „zu pompös“ vorkam. Er war generell vom Gedanken beseelt, dass die technische Weiterentwicklung der Hardware nicht ausreiche, um die wachsende Komplexität der Software leistungsmässig zu kompensieren. Der Slogan „software is getting slower faster than hardware is getting faster“ läuft bis heute unter der Flagge „Wirth'sches Gesetz“. Mit Oberon wurde die Sprache wiederum als Mittel zum Zweck verwendet, nämlich zur Entwicklung einer kompakteren und noch leistungsfähigeren, 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 transparenten, quelloffenen Verfügbarkeit vor allem im kreativ-kommerziellen Umfeld der Startups und für sicherheitskritische Projekte grosser Beliebtheit, auch wenn eine flächendeckende Verbreitung wie bei Pascal ausgeblieben ist.

Die Wirth'schen Tugenden der Einfachheit, Klarheit, Transparenz, Minimalität und Ressourceneffizienz sind Querschnittskompetenzen, die unter dem Namen „School of Wirth“ im wahrsten Sinne des Wortes Schule gemacht haben. 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 inzwischen einer Kultur des „Software Engineering“ gewichen, welche dank „smarten“ Frameworks und Packages sowie allerlei KI Bots die benötigten Kompetenzen und damit die Eintritsschwelle 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.

Jürg Gutknecht, ETH Zürich

[Veröffentlicht: Juli 2024]