# Niklaus Wirth

Niklaus Emil Wirth (* 15. Februar 1934 in Winterthur; † 1. Januar 2024 in Zürich) war ein Schweizer Informatiker. Er entwickelte unter anderem mehrere Programmiersprachen und schrieb verschiedene Lehrbücher. Nach ihm benannt ist das Wirthsche Gesetz, nach dem sich die Software schneller verlangsamt als sich die Hardware beschleunigt.

## Leben

1959 erwarb Niklaus Wirth das Diplom als Elektroingenieur an der Eidgenössischen Technischen Hochschule Zürich und 1960 den Master of Science an der Université Laval in Kanada. 1963 promovierte er mit einem Stipendium des Fulbright-Programms an der University of California in Berkeley bei Harry Huskey über die Verallgemeinerung der Programmiersprache Algol 60.
Nach Assistenzprofessuren an der Stanford University und der Universität Zürich kehrte er 1968 zunächst als Professor für Computerwissenschaften an die Eidgenössische Technische Hochschule zurück, wo er bis 1999 als Professor für Informatik lehrte und forschte. In den Jahren 1976 bis 1977 sowie 1984 bis 1985 erfolgten Studienaufenthalte im Palo Alto Research Center (PARC) von Xerox.
Ausgehend von seiner Dissertation entwickelte Wirth im Jahre 1966 zusammen mit Helmut Weber in Stanford die Programmiersprache Euler. Wirth entwarf die Programmiersprache PL360, die 1968 auf dem IBM System/360 implementiert wurde. Er beteiligte sich an der Weiterentwicklung und Verallgemeinerung der Sprache Algol. Insbesondere schuf er in Zusammenarbeit mit Tony Hoare die Sprache Algol W und wirkte an der Entwicklung von Algol 68 mit. Enttäuscht über die stetig zunehmende Komplexität der Entwürfe zu dieser Sprache definierte und implementierte er in den Jahren 1968 bis 1972 praktisch im Alleingang die Programmiersprache Pascal. Dabei erweiterte er auch die formale Sprache Backus-Naur-Form (BNF), die zur Notation der Syntax von Algol 60 eingesetzt wurde, zur Erweiterten Backus-Naur-Form (EBNF). Später entwarf er die Pascal-Nachfolger Modula (1973–1976), Modula-2 (1977–1980) und Oberon (1985–1990), denen trotz ihrer klaren Konzepte und ihrer Einfachheit nicht der gleiche Erfolg beschieden war wie Pascal. Wirth war allerdings mehr an den theoretischen Konzepten hinter den Sprachen und ihrer Eignung für die universitäre Lehre interessiert als an ihrer kommerziellen Verwendbarkeit und ihrem Einsatz in der Industrie. An der 1983 erschienenen DIN-Norm 66256 zur Standardisierung von Pascal war er nicht beteiligt.
Im Anschluss an seine Gastaufenthalte im Xerox PARC baute Wirth die Computersysteme Lilith (1980) und Ceres (1986) sowie die zugehörigen Betriebssysteme. Trotz ihrer zum Teil bahnbrechenden Charakteristiken hatten Versuche, diese Workstations kommerziell zu vermarkten, wenig Erfolg. Sein Jugendhobby, den Modellflug, aufgreifend, stattete er unter anderem mehrere selbstnavigierende Modellhubschrauber mit Oberon-programmierten Bordcomputern aus. Von seinem Aufenthalt im Xerox PARC 1980 brachte er als einer der ersten Computermäuse nach Europa mit, die in die erste Serienmaus der Welt des Schweizer Unternehmens Logitech mündeten.
Wirth erhielt zahlreiche Ehrungen, unter anderem im Jahr 1984 als erster und bisher einziger (Stand 2024) deutschsprachiger Informatiker den ACM Turing Award sowie 1988 den IEEE Computer Pioneer Award.
Wirth ging als Professor der ETH Zürich 1999 in den Ruhestand und starb am 1. Januar 2024 im Alter von 89 Jahren.

## Ehrungen, Auszeichnungen und Mitgliedschaften (Auswahl)

* 1984: Turing Award
* 1988: Computer Pioneer Award der IEEE Computer Society
* 1988: Science and Technology Prize von IBM Europe
* 1995: Pour le mérite für Wissenschaften und Künste
* 1999: Outstanding Research Award in Software Engineering von ACM Sigsoft
* 2001: Namensgeber für den Asteroiden (21655) Niklauswirth
* 2002: Technologiepreis der Eduard-Rhein-Stiftung
* 2007: Wahl in die Academia Europaea
* Eine etwas spezielle Auszeichnung ist der Name einer Software zum Erlernen der Programmiersprache Pascal als „Niki – der Roboter“ in Anspielung an Niklaus.
* Wirth war Mitglied der Deutschen Akademie der Technikwissenschaften, Acatech

## Veröffentlichungen
### Bücher

* A Generalization of Algol. Thesis University of California, Berkeley 1963.
* Systematisches Programmieren (1972)
* PASCAL: User Manual and Report (1974) (zusammen mit Kathleen Jensen)
* Algorithmen und Datenstrukturen (1975)
* Compilerbau (1977) (erklärt und vollständig implementiert wird ein PL/0-Compiler) (online; PDF)
* Programming in Modula-2, Springer-Verlag 1982, doi:10.1007/978-3-642-96717-7.
* Algorithmen und Datenstrukturen mit Modula-2 (1986)
* Project Oberon (1992) (online; PDF)
* Programming in Oberon (1992) (online; PDF)
* Digital Circuit Design for Computer Science Students. An Introductory Textbook (1995)
* Grundlagen und Techniken des Compilerbaus (1995)
* Algorithmen und Datenstrukturen, Oberon-Version (2004) (online; PDF)

### Artikel

* A Plea for Lean Software, 1995 (PDF; 524 kB)
* A Brief History of Software Engineering (PDF; 44 kB)
* mit Helmut Weber: EULER, A Generalization of ALGOL and its Formal Definition. Comm. ACM 9(1966), S. 13–25, 89–99.
* mit C.A.R.Hoare: A Contribution to the Development of ALGOL. Comm. ACM 9 (1966), S. 413–432.
* The Programming Language Pascal, Acta Informatica, 1 (1971), S. 35–63, doi:10.1007/BF00264291.
* The Programming Language Oberon. Software-Practise and Experience 18(1988), S. 671–690.