Von Modellflugzeugen zur Informatik
Am 1. Januar starb Niklaus Wirth. Der Schweizer war Preisträger des Turing Awards und Erfinder der Programmiersprache PASCAL
Wie das „Coden“, also das Programmieren, funktioniert, sollte zum Allgemeinwissen gehören, denn es erlaubt ein besseres Verständnis unserer Informationsgesellschaft. Leider schrecken Handbücher mit über 1.000 Seiten, die das nötige „Profiwissen“versprechen, eher ab. Soweit hätte es nicht kommen müssen, hätte man auf Niklaus Wirth gehört!
Der Schweizer Informatiker, der am vergangenen 1. Januar in Winterthur verstorben ist und am 15. Februar 90 Jahre alt geworden wäre, war schon als Kind von der Technik fasziniert, insbesondere vom Modellflugzeugbau. Das erweckte auch sein Interesse für die Elektronik, die er an der ETH Zürich studierte. Aber die typische Ingenieurarbeit interessierte ihn nicht: „Ich konnte nicht den ganzen Tag von morgens bis abends an der Werkbank sitzen und einen Verstärker ein bisschen verbessern“. Auf Anraten seines Vaters ging er 1960 ins Ausland: „Noch heute staune ich über meinen damaligen Mut. Ich habe auch gemerkt, dass meine Berufung eigentlich die des Lehrers ist, wie die meines Vaters“. Zunächst Assistent an der Universität Laval in Québec, promovierte er 1963 in Berkeley bei Harry Huskey, der für Bendix Aviation den Computer G-15 entwickelt hatte. Dort lernte er auch Fortran und Assembler auf einer IBM-Maschine. Um Ordnung in das damalige Algol1-Chaos zu bringen, schrieb er einen einfachen aber effizienten Algol-Compiler2, seine erste intensive Beschäftigung mit Programmiersprachen und Compiler-Design. Dies brachte ihn auch in engen Kontakt mit Peter Naur (Kopenhagen), Edsger Dijstra (Amsterdam) und Tony Hoare (Belfast), Mitglieder der internationalen Algol-Workinggroup. Als Assistenzprofessor in Stanford implementierte er 1966, Euler, eine Weiterentwicklung von Algol, auf einem Burroughs 5.000-Computer.
„Ich hatte schon immer die Idee im Ausland etwas zu lernen, was man in der Schweiz nicht lernen kann und es zurückzubringen“, so Wirth der 1968 als Professor an die ETH nach Zürich zurückkehrte. Doch die versprochene Informatikabteilung gab es erst 1981, denn bis dahin galt das Dogma der Industrie: „Informatik brauchen wir nicht. Das Programmieren kann jeder anständige Ingenieur in ein paar Tagen lernen“.
Während den 70er Jahren unterrichtete er Informatik an anderen Fakultäten und entwickel
Software is getting slower more rapidly than hardware becomes faster. Niklaus Wirth in „A Plea for Lean Software“, auch als „Wirthsches Gesetz“bekannt
te auf Basis von Algol die Programmiersprache PASCAL, inklusive Compiler. Dabei wählte er einen Ansatz, der heute als „virtuelle Maschine“bekannt ist, so dass PASCAL auf Computern aller Art lief, was enorm zur Verbreitung der Sprache beitrug und die Entwicklung von Programmiersprachen nachhaltig beeinflusste. Ein weiteres Arbeitsgebiet war die Programmentwicklung durch schrittweise Verfeinerung: „Sie haben eine bestimmte Aufgabe, und weil es auf ihrem Computer keine einzige Anweisung zur Lösung gibt, zerlegen Sie diese in Teilaufgaben. Und das machen Sie so lange, bis Sie bei Maschinenbefehlen oder Anweisungen in der Programmiersprache anbelangt sind“.
Sein Sabbatical führte ihn 1976 mit seiner Frau und seinen drei Kindern zum Xerox Palo Alto Research Center in Kalifornien, wo er die neuen Personalcomputer kennenlernte. „Es war das erste Mal, dass ich solche PCs sah, mit denen man echte Probleme lösen konnte. Sie hatten genügend Speicher und Geschwindigkeit, man konnte wirklich damit arbeiten. Heute bezeichne ich die Jahre um 1975 als den Beginn des Computerzeitalters“, so Wirth.
Aber diese PCs konnte man nirgendwo kaufen. Und wie die Compiler konstruierte er sie selbst. „Wenn Sie Ingenieur sind, können Sie das“, so Wirth, der zusammen mit Richard Ohran, einem Hardware-Spezialisten aus Utah, und einigen Doktoranden den Lilith-PC inklusive Software für die ETH entwickelte. Auch der Programmiersprache PASCAL verhalfen die sich rasant verbreitenden PCs zum Durchbruch, denn ein PASCAL-Compiler passte in deren kleinen Speicher. Dazu kam, dass z.B. die kalifornische Firma Borland eine Diskette mit dem ganzen System für nur 50 Dollar anbot.
Zusammen mit Jörg Gutknecht entstanden Modula, ein Nachfolger von Pascal, der die Beschreibung ganzer Systeme durch ein Modulkonstrukt beherrscht, und in den 80er Jahren Oberon mit dem Ziel, eine Programmiersprache auf das Wesentliche zu vereinfachen und gleichzeitig die für die objektorientierte Programmierung wesentlichen Funktionen zu integrieren. Oberon schirmt den Programmierer von Implementierungsdetails ab und ermöglicht ihm ausschließlich in Begriffen der höheren Abstraktionsebene zu denken. Es lief auf den selbst entwickelten Ceres-Workstations, für die beide das gesamte Betriebssystem, Compiler, Editoren für Text, Grafik und Dokumente, ein verteiltes Netzwerksystem für elektronische Post und Dateidienste selbst programmierten.
Turing Award im Jahr 1984
1984 erhielt Niklaus Wirth in San Francisco den Turing Award, auch „Nobelpreis der Informatik“genannt, der seit 1966 jährlich für herausragende Beiträge von bleibender Bedeutung auf dem Gebiet der Informatik verliehen wird. In Amerika sofort als Berühmtheit gefeiert, nahm in seiner Schweizer Heimat kaum jemand Notiz davon. Wirth bleibt bis heute einer der wenigen Nicht-Amerikaner, die den Preis je erhalten haben. Als die neuen FPGAs3 verfügbar wurden, schrieb er für sie Lola, eine Logiksprache. Damit entwarf er 1995 stromsparende
Oberon-Prozessoren, die selbstnavigierende Modellhelikopter steuerten, lange bevor es Drohnen gab. Auch nach seiner Emeritierung blieb er aktiv. So motivierten Kollegen den 82Jährigen, eine Aktualisierung seines inzwischen vergriffenen Buches „Project Oberon“zu schreiben, eines der wenigen Bücher, das ein komplettes System und seine Entwicklung detailliert beschreibt. Dazu implementierte er einen neuen Prozessor in einem FPGA, schrieb die Software und veröffentlichte alles als Open Source. Enttäuscht zeigte sich Wirth allerdings über die Entwicklung der Informatiklehre an Hochschulen: „Im Universitätsleben geht es in erster Linie darum neues Wissen zu schaffen und zu verbreiten. Und heutzutage geht es hauptsächlich ums Geschäft. Sehen Sie sich die heutige Situation an. Menschen programmieren in C++, der schlimmsten Krankheit, die es jemals gegeben hat. Oder C# oder Java, die etwas besser sind. Schon 1970 wurde mir bei PASCAL klar, dass die Industrie von den Universitäten verlangt, das zu lehren, was sie verwenden, und die Universitäten lehren, was die Industrie verlangt. Dies wurde nur einmal mit PASCAL durchbrochen. Das war wie ein Wunder. Und ich wusste irgendwie, dass das nie wieder passieren würde“.
Seinen 90. Geburtstag am 15. Februar 2024 hat Niklaus Wirth leider nicht mehr erlebt, er starb am 1. Januar 2024. Wirth war ein hervorragender Ingenieur, Pädagoge und Autor zahlreicher Referenzwerke. Seine bahnbrechenden Systeme Lilith und Oberon waren ihrer Zeit um mindestens 10 Jahre voraus, erfuhren aber leider nie die verdiente Würdigung. So wird ihn die Welt vor allem als „that language guy“in Erinnerung behalten und seinen Namen mit PASCAL verbinden. Hätte sich die Industrie an seine Maxime gehalten: „Man muss eine Sprache so schaffen, dass sie sich auf das Wesentliche konzentriert und den Rest weglässt“, dann müssten wir uns heute nicht mit Handbüchern von über 1000 Seiten herumschlagen.
Für mich war die Programmiersprache nie der Endzweck, sondern ein Werkzeug, um Methoden und Ideen, die sich entwickelt haben, ohne Umstände wirklich anwenden zu können. Niklaus Wirth
Algol: Algorithmic Language, eine ab den 50er Jahren international entwickelte, von kommerziellen Interessen unabhängige, portable, prozedurale Programmiersprache für wissenschaftliche Zwecke.
Compiler: Computerprogramm, das eine Programmiersprache in eine Form übersetzt, die von einem Computer ausgeführt werden kann.
FPGA: Integrierter Schaltkreis (IC), in welchen logische Schaltungen wie z.B. vollständige Mikroprozessoren geladen werden können.
Bibliografie: Böszörményi L. et al.: The School of Niklaus Wirth, dpunkt 2000; Interview von Elina Trichina 2016 für den ACM Award; Interview mit N. Wirth, Computerwoche 1989.