Niklaus Emil Wirth (IPA: /vɛrt/) (15 February 1934 – 1 January 2024) was a Swiss computer scientist. He 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, "for developing a sequence of innovative computer languages".[4]
Early life and education
Niklaus Emil Wirth was born in Winterthur, Switzerland, on 15 February 1934.[5]
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."[9]
In 1995, he popularized the adage now named Wirth's law. In his 1995 paper "A Plea for Lean Software" he attributed the following to Martin Reiser phrasing it as, "Software is getting slower more rapidly than hardware becomes faster."[20]
Publications
The April 1971 Communications of the ACM article "Program Development by Stepwise Refinement",
[21][22] concerning the teaching of programming, is considered to be a classic text in software engineering.[23] The paper is considered to be the earliest work to formally outline the top-down method for designing programs.[24][25] The article was discussed by Fred Brooks in his influential book The Mythical Man-Month and was described as "seminal" in the ACM's brief biography of Wirth published in connection to his Turing Award.[26][27]
The 1973 textbook, Systematic Programming: An Introduction,[28] was described as a quality source for mathematicians desiring to understand the nature of programming in a 1974 review.[29] The cover flap, of the 1973 edition, 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."[30] Described in the review as a challenging text to work through, it was nevertheless recommended as useful reading for those interested in numerical mathematics.[31]
In 1974, The Pascal User Manual and Report,[32] jointly written[i] with Kathleen Jensen,[35] served as the basis of many language implementation efforts in the 1970s (BSD Pascal[36]), and 1980s in the United States and across Europe.[37][38]
In 1975, he wrote the book Algorithms + Data Structures = Programs, which gained wide recognition.[39] Major revisions of this book with the new title Algorithms & Data Structures were published in 1986 and 2004.[40][41] 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.[40][41]
In 1992, Wirth and Jürg Gutknecht published the full documentation of the Oberon operating system.[42] A second book, with Martin Reiser, was intended as a programming guide.[43]
^First chapter (Documentation) is a joint work, which according to Jensen has been edited by Wirth.[33] Second chapter is by Wirth (also published separately[34]).
^Gosch, John (25 October 1979). Weber, Samuel (ed.). "Wirth works to better Pascal"(PDF). Profile. Electronics. Paul W. Reiss. p. 157. ISSN0013-5070. Archived(PDF) from the original on 20 May 2024. Retrieved 14 August 2024. [his family] includes two girls and a boy
^Wirth, Niklaus (3 May 2016). The Programming Language Oberon-07(PDF). ETH Zurich, Department of Computer Science (Report). Archived(PDF) from the original on 21 January 2021. Retrieved 17 January 2021.
^Eberle, Hans (2000). "Designing a Cluster Network". In Böszörményi, László (ed.). The School of Niklaus Wirth: The Art of Simplicity. Gulf Professional Publishing. p. 154. ISBN978-3-932588-85-3. This class also inspired Niklaus to develop a simple yet powerful hardware description language called Lola. Niklaus has always built the systems he is either researching or teaching himself since he knows that this is the only way to keep an engineer honest and credible.
^Haigh, Thomas (1984). "Niklaus E. Wirth". A. M. Turing Award. Association for Computing Machinery. Archived from the original on 19 September 2017. Retrieved 15 October 2019.
^Wirth, Program development by stepwise refinement, Communications of the ACM,. 14:221–227, ACM Press, 1971
^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. ISBN978-3-642-48355-4. S2CID11348419.
^Joy, William N.; Graham, Susan L.; Haley, Charles B. (1979). Berkeley Pascal User's Manual, Version 1.1, April, 1979. University of California, Berkeley. Department of Electrical Engineering and Computer Sciences. Archived from the original on 8 January 2024. Retrieved 8 January 2024.
^Blotnick, Srully (July 1983). "Don't Fail Me Now"(PDF). Pascal News (26): 26. Archived(PDF) from the original on 5 January 2024. Retrieved 3 January 2024.
^ abWirth, Niklaus (1986). "Preface to the 1986 edition". Algorithms & Data Structures. Prentice-Hall. p. 9. ISBN978-0-13-022005-9. The major change which pervades the entire text concerns the programming language used to express the algorithms. Pascal has been replaced by Modula-2.