Niklaus Emil Wirth (* 15. Februar 1934 in Winterthur) ist 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.
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 den ACM Turing Award als erster und bisher einziger deutschsprachiger Informatiker (Stand 2020) sowie 1988 den IEEE Computer Pioneer Award.
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 ist Mitglied der Deutschen Akademie der Technikwissenschaften, Acatech
Veröffentlichungen
Bücher
- 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 (1982)
- 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)
Literatur
- Niklaus Wirth: A Generalization of Algol. Thesis University of California, Berkeley 1963.
- Niklaus Wirth, Helmut Weber: EULER, A Generalization of ALGOL and its Formal Definition. Comm. ACM 9(1966), S. 13–25, 89–99.
- Niklaus Wirth, C.A.R.Hoare: A Contribution to the Development of ALGOL. Comm. ACM 9 (1966), S. 413–432.
- Niklaus Wirth: The Programming Language Pascal, Acta Informatica, 1 (1971), S. 35–63, doi:10.1007/BF00264291.
- Niklaus Wirth: Programming in Modula-2, Springer-Verlag 1982, doi:10.1007/978-3-642-96717-7.
- Niklaus Wirth: The Programming Language Oberon. Software-Practise and Experience 18(1988), S. 671–690.
- Th.J.Bergin, R.G.Gibson (eds.): History of Programming Languages. ACM Press 1996, 864 S., insbesondere S. 32 und S. 98.
- Dirk Siefkes u. a. (Hrsg.): Pioniere der Informatik: ihre Lebensgeschichte im Interview. Springer Berlin 1999, 143 S., doi:10.1007/978-3-642-58599-9.
- Beatrice Tobler: Niklaus Wirth – Workstations für die ETH und Programmiersprachen für die Welt. (Interview mit Niklaus Wirth) In: Loading History. Computergeschichte(n) aus der Schweiz. Kommunikation und Kultur, Mitteilungen aus dem Museum für Kommunikation Bern 1/2001, Chronos Verlag, Zürich 2001, S. 22–33.
- Laszlo Böszörmenyi u. a. (Hrsg.): The School of Niklaus Wirth: The Art of Simplicity Morgan Kaufmann Publishers 2000. 260 S.
- Carl August Zehnder: Wirth, Niklaus. In: Historisches Lexikon der Schweiz.
Weblinks
- Literatur von und über Niklaus Wirth im Katalog der Deutschen Nationalbibliothek
- ETHZ Who's Who (Memento vom 3. Dezember 2013 im Internet Archive)
- Webseite an der ETH Zürich
- Niklaus Wirth: Erfindungen der Informatik. Abschiedsvorlesung. Videoportal der ETH Zürich, 18. Januar 1999.
- Program development by stepwise refinement (Software-Klassiker)
- Wirth: Irgendwann einmal geht es nicht mehr weiter (Interview)
- Niklaus Wirth: Geek of the Week
- Linus Torvalds about the goto command (Memento vom 28. November 2005 im Internet Archive)