Niklaus Emil Wirth (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".[3]
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]
In 1995, he popularized the adage now named
Wirth's law. In his 1995 paper "A Plea for Lean Software" he phrased it as "Software is getting slower more rapidly than hardware becomes faster." and attributed it to Martin Reiser.[19]
Publications
The April 1971
Communications of the ACM article "Program Development by Stepwise Refinement",
[20][21] concerning the teaching of programming, is considered to be a classic text in software engineering.[22] The paper is considered to be the earliest work to formally outline the
top-down method for designing programs.[23][24] 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.[25][26]
The 1973 textbook, Systematic Programming: An Introduction,[27] was described as a quality source for mathematicians desiring to understand the nature of programming in a 1974 review.[28] 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."[29] Described in the review as a challenging text to work through, it was nevertheless recommended as useful reading for those interested in numerical mathematics.[30]
In 1974, The Pascal User Manual and Report,[31]The Pascal User Manual and Report, jointly written[i] with
Kathleen Jensen,[34] served as the basis of many language implementation efforts in the 1970s (
BSD Pascal[35]), and 1980s in the United States and across Europe.[36][37]
In 1975, he wrote the book Algorithms + Data Structures = Programs, which gained wide recognition.[38] Major revisions of this book with the new title Algorithms & Data Structures were published in 1986 and 2004.[39][40] 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.[39][40]
In 1992, Wirth and
Jürg Gutknecht published the full documentation of the
Oberon operating system.[41] A second book, with Martin Reiser, was intended as a programming guide.[42]
^First chapter (Documentation) is a joint work, which according to Jensen has been edited by Wirth.[32] Second chapter is by Wirth (also published separately[33]).
^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.