Niklaus Wirth

Niklaus Emil Wirth (born 15 February 1934) is a Swiss computer scientist. He has designed several programming languages, including Pascal, and pioneered several classic topics in software engineering. In 1984, he won the Turing Award, generally recognized as the highest distinction in computer science,[3][4] for developing a sequence of innovative computer languages.[5]

Niklaus Emil Wirth
Niklaus Wirth, UrGU.jpg
Born (1934-02-15) 15 February 1934 (age 89)
Winterthur, Switzerland
Known forALGOL W, Euler, Pascal, Modula, Modula-2, Oberon, Oberon-2, Oberon-07, Oberon System
Scientific career
FieldsComputer science
ThesisA Generalization of Algol (1963)
Doctoral advisorHarry Huskey
Doctoral studentsMichael Franz, Martin Odersky
Signature of Niklaus Wirth


Wirth was born in Winterthur, Switzerland, in 1934. In 1959, he earned a Bachelor of Science (B.S.) degree in electronic engineering from the Swiss Federal Institute of Technology Zürich (ETH Zürich). In 1960, he earned a Master of Science (MSc) from Université Laval, Canada. Then in 1963, he was awarded a PhD in Electrical Engineering and Computer Science (EECS) from the University of California, Berkeley, supervised by the computer design pioneer Harry Huskey.

From 1963 to 1967, he served as assistant professor of computer science at Stanford University and again at the University of Zurich. Then in 1968, he became Professor of Informatics at ETH Zürich, taking two one-year sabbaticals at Xerox PARC in California (1976–1977 and 1984–1985). He retired in 1999.

He was involved with developing international standards in programming and informatics, as a member of the International Federation for Information Processing (IFIP) IFIP Working Group 2.1 on Algorithmic Languages and Calculi,[6] which specified, maintains, and supports the programming languages ALGOL 60 and ALGOL 68.[7]

In 2004, he was made a Fellow of the Computer History Museum "for seminal work in programming languages and algorithms, including Euler, Algol-W, Pascal, Modula, and Oberon."[8]

Programming languagesEdit

Niklaus Wirth, 1969

Wirth was the chief designer of the programming languages Euler (1965), PL360 (1966), ALGOL W (1966), Pascal (1970),[9] Modula (1975), Modula-2 (1978), Oberon (1987), Oberon-2 (1991), and Oberon-07 (2007). He was also a major part of the design and implementation team for the operating systems Medos-2 (1983, for the Lilith workstation), and Oberon (1987, for the Ceres workstation), and for the Lola (1995) digital hardware design and simulation system. In 1984, he received the Association for Computing Machinery (ACM) Turing Award for the development of these languages. In 1994, he was inducted as a Fellow of the ACM.


His book, written jointly with Kathleen Jensen, The Pascal User Manual and Report, served as the basis of many language implementation efforts in the 1970s and 1980s in the United States and across Europe.[citation needed]

His article Program Development by Stepwise Refinement, about the teaching of programming, is considered to be a classic text in software engineering.[10] In 1975, he wrote the book Algorithms + Data Structures = Programs, which gained wide recognition.[11] Major revisions of this book with the new title Algorithms + Data Structures were published in 1985 and 2004. The examples in the first edition were written in Pascal. These were replaced in the later editions with examples written in Modula-2 and Oberon respectively.

His textbook, Systematic Programming: An Introduction, was considered a good source for students who wanted to do more than just coding.[citation needed] The cover flap of the sixth edition (1973) stated the book "... is tailored to the needs of people who view a course on systematic construction of algorithms as part of their basic mathematical training, rather than to the immediate needs of those who wish to be able to occasionally encode a problem and hand it over to their computer for instant solution."[12] Regarded as a challenging text to work through, it was sought as imperative reading for those interested in numerical mathematics.[13]

In 1992, he and Jürg Gutknecht published the full documentation of the Oberon OS.[14] A second book, with Martin Reiser, was intended as a programming guide.[15]

Wirth's lawEdit

In 1995, he popularized the adage now named Wirth's law, which states that software is getting slower more rapidly than hardware becomes faster. In his 1995 paper A Plea for Lean Software he attributes it to Martin Reiser.[16]

See alsoEdit


  1. ^ "IEEE Emanuel R. Piore Award Recipients" (PDF). IEEE. Archived from the original (PDF) on 24 November 2010. Retrieved 20 March 2021.
  2. ^ "Niklaus Wirth 2004 Fellow".
  3. ^ Dasgupta, Sanjoy; Papadimitriou, Christos; Vazirani, Umesh (2008). Algorithms. McGraw-Hill Education. p. 317. ISBN 978-0-07-352340-8.
  4. ^ Bibliography of Turing Award lectures, DBLP
  5. ^ Haigh, Thomas (1984). "Niklaus E. Wirth". A. M. Turing Award. Association for Computing Machinery. Retrieved 15 October 2019.
  6. ^ Jeuring, Johan; Meertens, Lambert; Guttmann, Walter (17 August 2016). "Profile of IFIP Working Group 2.1". Foswiki. Retrieved 4 October 2020.
  7. ^ Swierstra, Doaitse; Gibbons, Jeremy; Meertens, Lambert (2 March 2011). "ScopeEtc: IFIP21: Foswiki". Foswiki. Retrieved 4 October 2020.
  8. ^ "Niklaus Wirth: 2004 Fellow". Computer History Museum (CHM). Retrieved 15 October 2019.
  9. ^ Petzold, Charles (9 September 1996). "Programming Languages: Survivors and Wannabes". The New York Times. ISSN 0362-4331. Retrieved 8 March 2018.
  10. ^ Wirth, Niklaus (2001). "Program Development by Stepwise Refinement". In Broy, Manfred; Denert, Ernst (eds.). Pioneers and Their Contributions to Software Engineering. Berlin, Heidelberg: Springer. doi:10.1007/978-3-642-48354-7. ISBN 978-3642483554. S2CID 11348419.
  11. ^ Citations collected by the Association for Computing Machinery (ACM)
  12. ^ Wirth, Niklaus (1973). "Cover flap". Systematic Programming: An Introduction. ISBN 0-13-880369-2.
  13. ^ Abrahams, Paul (July 1974). "Systematic Programming: An Introduction by Niklaus Wirth". Mathematics of Computation. American Mathematical Society. 28 (127): 881–883. doi:10.2307/2005728. JSTOR 2005728.
  14. ^ Wirth, Niklaus; Gutknecht, Jürg (1992). Project Oberon: The Design of an Operating System and Compiler (PDF). Addison-Wesley, ACM Press. ISBN 978-0201544282. Archived from the original (PDF) on 12 April 2013. Out of print. Online version of a 2nd edition. 2005 edition, PDF.
  15. ^ Reiser, Martin; Wirth, Niklaus (1992). Programming in Oberon: Steps Beyond Pascal and Modula (PDF). Addison-Wesley, ACM Press. ISBN 978-0201565430.. Out of print.
  16. ^ Wirth, Niklaus (February 1995). "A Plea for Lean Software". Computer. 28 (2): 64–68. doi:10.1109/2.348001.

External linksEdit