Niklaus Wirth
Niklaus Wirth | |
|---|---|
Wirth in 2005 | |
| Born | Niklaus Emil Wirth 15 February 1934 Winterthur, Switzerland |
| Died | 1 January 2024 (aged 89) Zürich, Switzerland |
| Education | |
| Known for | |
| Spouses |
|
| Children | 3[1] |
| Awards |
|
| Scientific career | |
| Fields | Computer science |
| Workplaces | |
| Thesis | A Generalization of Algol (1963) |
Doctoral students | |
| Signature | |
Niklaus Emil Wirth (IPA: /vɛrt/) (15 February 1934 – 1 January 2024) was a Swiss computer scientist. He designed a series of programming languages, among them Pascal, Modula-2 and Oberon, and he led the construction of the Lilith and Ceres workstations at ETH Zurich. In 1984 he received the Turing Award, generally recognized as the highest distinction in computer science, "for developing a sequence of innovative computer languages".[2]
Wirth studied electrical engineering at ETH Zurich and completed his doctorate at the University of California, Berkeley, in 1963. He taught at Stanford University until 1967, and was a professor at ETH Zurich from 1968 until he retired in 1999. At ETH he helped to establish computer science as a separate field of study, and he twice headed its Department of Computer Science. Pascal became a standard language for teaching programming around the world, and his paper "Program Development by Stepwise Refinement" (1971) and his book Algorithms + Data Structures = Programs (1976) became classic texts.
Throughout his career Wirth argued that software and hardware should be as simple as possible. He built the systems that he taught, often with small teams, and he criticized the size and complexity of commercial software. His essay "A Plea for Lean Software" (1995) popularized the adage now known as Wirth's law.
Early life and education
[edit]Niklaus Emil Wirth was born in Winterthur, Switzerland, on 15 February 1934.[3] He was the son of Hedwig (née Keller) and Walter Wirth, who taught geography at the gymnasium in Winterthur.[4][5]: 1
Wirth studied electrical engineering at ETH Zurich from 1954 and received his diploma as an electrical engineer in 1958.[4][6] He then spent a year as a teaching assistant at Université Laval in Quebec, which awarded him a Master of Science in 1960.[4][5]: 4–5 After four months at the National Research Council in Ottawa, where he built a small analogue computer, he moved to California.[5]: 5
At the University of California, Berkeley, Wirth came across a group of graduate students who had written a compiler for NELIAC, a dialect of ALGOL 58, in the language itself. He found their program "hardly intelligible", wrote a small ALGOL 60 compiler of his own, and decided to bring order into the subject in his thesis.[5]: 6 His doctoral thesis, A Generalization of ALGOL, was supervised by Harry Huskey, and he received his PhD in 1963.[6][7]
Career
[edit]Stanford (1963–1967)
[edit]From 1963 to 1967 Wirth was an assistant professor in the newly founded Department of Computer Science at Stanford University.[4][6] He joined IFIP Working Group 2.1, which was preparing a successor to ALGOL 60, and the group asked him to draft a proposal. At the meeting where he presented it, Adriaan van Wijngaarden presented a more ambitious competing proposal, which developed into ALGOL 68. Wirth returned to Stanford and implemented his own proposal with a group of graduate students. It became known as ALGOL W.[5]: 7–8 To write its compiler he designed PL360, a language close to machine code.[5]: 9 He left the working group soon afterwards.[5]: 9 ETH's staff magazine later described his next language, Pascal, as the work of one person who wanted, for once, to follow his own ideas without the compromises of a committee.[8]
Zurich (1967–1976)
[edit]In 1967 Wirth returned to Switzerland as an assistant professor at the University of Zurich.[4][9] In 1968 he became professor of computer science at ETH Zurich, at first in a joint appointment with the University of Zurich.[8][10] Together with Heinz Rutishauser and Peter Läuchli he formed a computer science group (Fachgruppe Computer-Wissenschaften), which separated from ETH's Institute of Applied Mathematics.[8]
At ETH Wirth designed Pascal. Its report was published in 1970, and from 1972 he used the language to teach introductory programming to classes of about 300 students.[5]: 10 To help other universities adopt Pascal, his group distributed a compiler that produced p-code for a hypothetical computer. A university then had to write only a small interpreter for its own machine.[5]: 10
Xerox PARC and Lilith (1976–1984)
[edit]In 1976–1977 Wirth spent a sabbatical year at Xerox PARC, which Butler Lampson had helped to arrange.[5]: 11 [9] There he worked with the Xerox Alto, an early workstation with a graphical user interface and a mouse, and he decided to build a similar computer at ETH.[9][5]: 12 With Richard Ohran, who had taught hardware design in Utah, and a few graduate students, he designed the Lilith workstation, which was completed in 1979.[11][5]: 12–13 For Lilith he designed Modula-2, a smaller language modelled on Xerox's Mesa.[5]: 13 [9] A series of 20 Liliths was built in the United States for ETH, at about 20,000 Swiss francs each. A Swiss company that tried to sell the computer was soon wound up, but production continued in the United States, and about 500 Liliths were built in total.[11]
In the 1970s Wirth and his colleague Carl August Zehnder twice proposed a separate degree course in computer science. Both proposals failed. According to Wirth, the main reason was that industry saw no need for such graduates.[12][5]: 14 Around 1979, industry representatives complained to the federal government about a shortage of programmers.[12] ETH then set up a Department of Computer Science. Its first students enrolled in autumn 1981, and it was the first new department at ETH since 1935.[13] Wirth headed the department from 1982 to 1984 and from 1988 to 1990.[6][10] He later said that, had he known how slow it would be to establish computer science in Switzerland, he would probably have stayed in the United States.[12]
Oberon and Ceres (1984–1999)
[edit]Wirth spent a second sabbatical at Xerox PARC in 1984–1985, and he received the Turing Award during this stay.[5]: 16 At PARC he found the language Cedar "unnecessarily complicated", and he decided to create a language that concentrated on the essentials.[5]: 17 In 1985 he and Jürg Gutknecht began to develop an operating system for workstations, which they named Oberon.[14] Wirth extended Modula-2 with type extension, which allowed an object-oriented style of programming, and at the same time made the language smaller. The new language was also named Oberon.[14][11] Wirth and Gutknecht wrote the system themselves in about three years.[14][8]
Oberon ran on Ceres, a series of workstations that ETH built from 1984 on around commercial microprocessors. Its chief architect was Hans Eberle.[11][5]: 18 About 80 Ceres-1 and Ceres-2 machines were built for ETH. In 1990 Wirth and his doctoral student Beat Heeb built the Ceres-3, of which 100 were made for the department's student laboratories at less than 5,000 Swiss francs each.[11] From 1988 Oberon was the standard language for programming courses in ETH's computer science department. From 1989 the system was ported to MS-DOS, Microsoft Windows, the Macintosh, and workstations from IBM, Sun, Digital Equipment and Hewlett-Packard.[11] It was available free of charge over the network. Wirth said that he had developed Oberon mainly for teaching, not for commercial use.[8]
From 1990 Wirth headed the Institute for Computer Systems at ETH, which he had founded.[10][9] In the 1990s he turned to field-programmable gate arrays. With Heeb he built the reconfigurable computer Chamäleon (1990), and in 1991 he published the hardware description language Lola.[9][11] He also designed the on-board computer for an autonomous model helicopter that students in mechanical engineering had built.[12][5]: 21 He retired in 1999.[15] His farewell lecture, "Erfindungen der Informatik" ("Inventions of computer science"), was printed in shortened form in the Neue Zürcher Zeitung.[16]
Retirement (1999–2024)
[edit]In retirement Wirth prepared a new edition of Project Oberon, his book with Gutknecht on the Oberon system. The processor that the first edition described no longer existed, so he designed his own processor, RISC5, and implemented it on a Xilinx field-programmable gate array board. The new edition appeared in 2013, and the complete system was published as open source.[5]: 25–26 [17]
Programming languages
[edit]
Wirth was the chief designer of the programming languages Euler (1965), PL360 (1966), ALGOL W (1966), Pascal (1970),[18] Modula (1975), Modula-2 (1978),[15] Oberon (1988),[19][4] Oberon-2 (1991), and Oberon-07 (2007).[20] He was also a major part of the design and implementation team for the operating systems Medos-2 (1983, for the Lilith workstation)[21] and Oberon (1987, for the Ceres workstation).[22][23] For digital hardware he created the Lola design and simulation system, which he described in his textbook Digital Circuit Design (1995).[24][25]
Views on software design
[edit]Wirth worked by a maxim attributed to Albert Einstein: "as simple as possible, but not simpler".[14] He held that a first programming language should be small and clean and should concentrate on the essential concepts. He objected that commercial languages had become so large that nobody could understand them completely.[5]: 17 In a 1999 interview he said that his greatest satisfaction in programming came when he managed to leave parts out, and he called the industry practice of measuring programmers by lines of code per day "nonsense".[12]
He was critical of the software industry and of Swiss attitudes to research. In 1991 he said that many of his ideas were accepted in Switzerland only after others had brought them back from the United States.[14] In an interview shortly before the release of Windows 95, he argued for a more thorough education in computer science, which would also produce more competent customers.[26] In his farewell lecture of 1999 he called the enthusiasm for innovation exaggerated. Computer science, he said, suffered from "chronic innovationitis" and needed more attention to reliability, clarity and solidity.[16]
Wirth's law
[edit]In "A Plea for Lean Software" (1995), Wirth attributed to Martin Reiser the observation that "software is getting slower more rapidly than hardware becomes faster". The adage became known as Wirth's law.[27]
Legacy
[edit]Pascal became a widely used language for teaching programming.[6][19] Its p-code compiler made it easy to move the language to new computers, and Bertrand Meyer called p-code "the ancestor of today's virtual machines".[28] Because the compiler fitted into a small memory, Pascal also suited the microcomputers that spread from the mid-1970s. Borland's Turbo Pascal brought the language its commercial breakthrough. According to Wirth, Borland sold the whole system on one diskette for about $50, when compilers for mainframes cost $10,000 or more.[5]: 10–11 [8] Delphi, a later Pascal-based product, was still on sale when he died.[29]
Oberon led to further languages, among them Oberon-2, Oberon-07 and Component Pascal.[29] The designers of Go name the "Pascal/Modula/Oberon family" as a significant influence on its declarations and packages.[30] Meyer also credited Wirth with showing that compilers "could be built simply and elegantly through recursive descent".[28] Wirth's doctoral students included Martin Odersky, later the designer of Scala, and Michael Franz.[7] In 2000 former students and colleagues published a collection of essays in his honour, The School of Niklaus Wirth: The Art of Simplicity.[15]
After his death, Meyer wrote that he could "think of only a handful of people who have shaped the global hardware and software industry in a comparable way".[28] In The Register, Liam Proven judged that Wirth's influence on the computer industry "has been almost beyond measure", but that the modern software industry "has signally failed to learn from him".[29]
Honours and awards
[edit]Wirth received honorary doctorates from the University of York and the École polytechnique fédérale de Lausanne in 1978, the first of twelve.[10][4] His other honours include:
- IEEE Emanuel R. Piore Award (1983)[10]
- Turing Award (1984) "for developing a sequence of innovative computer languages"[31]
- ACM SIGCSE Award for Outstanding Contributions to Computer Science Education (1987)[10]
- Computer Pioneer Award of the IEEE Computer Society[10][4]
- Marcel Benoist Prize (1989)[32]
- Foreign associate of the National Academy of Engineering (1993)[10]
- Fellow of the Association for Computing Machinery (1994)[33]
- Member of the Pour le Mérite for Sciences and Arts (1995)[6]
- ACM SIGSOFT Outstanding Research Award (1999)[34]
- International Honorary Member of the American Academy of Arts and Sciences (2003)[35]
- Fellow of the Computer History Museum (2004) "for seminal work in programming languages and algorithms, including Euler, Algol-W, Pascal, Modula, and Oberon"[36]
- ACM SIGPLAN Programming Languages Achievement Award (2007)[37]
Publications
[edit]The April 1971 Communications of the ACM article "Program Development by Stepwise Refinement",[38][39] on the teaching of programming, is considered a classic text in software engineering.[40] It is regarded as the earliest work to formally describe the top-down method of designing programs.[41][42] Fred Brooks discussed the article in The Mythical Man-Month, and the ACM's biography of Wirth, published with his Turing Award, called it "seminal".[43][44]
The textbook Systematic Programming: An Introduction appeared in German in 1972 and in English in 1973.[9][45] According to its cover flap, 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".[46] A 1974 review in Mathematics of Computation found the book demanding to work through, but recommended it to mathematicians who wanted to understand the nature of programming and to readers interested in numerical mathematics.[47]
The Pascal User Manual and Report (1974),[48] written with Kathleen Jensen,[i] served as the basis for many implementations of the language in the United States and Europe in the 1970s and 1980s, such as Berkeley Pascal.[51][52][53]
His book Algorithms + Data Structures = Programs appeared in German in 1975[11] and in English in 1976,[54] and it was widely cited.[55] Revised editions with the new title Algorithms & Data Structures were published in 1986 and 2004. The examples in the first edition were written in Pascal. The later editions replaced them with examples in Modula-2 and Oberon, respectively.[56][57]
In 1992 Wirth and Gutknecht published the full documentation of the Oberon system as Project Oberon.[58] A companion book with Martin Reiser, Programming in Oberon, was written as a programming guide.[59]
Personal life and death
[edit]Wirth married Nani Jucker in 1959,[4][9] and they had three children.[5]: 11 The couple separated in 1980.[5]: 14 Wirth later married Diana Pschorr.[4][5]: 16 He was interested in aviation from his youth, built model aircraft, and took flying lessons in the United States.[12][5]: 29 After his retirement he learned Russian, which he could read and write.[5]: 24
Wirth died in Zürich on 1 January 2024, at the age of 89.[4][29]
See also
[edit]Notes
[edit]References
[edit]- ↑ Gosch, John (25 October 1979). Weber, Samuel (ed.). "Wirth works to better Pascal" (PDF). Profile. Electronics. Paul W. Reiss. p. 157. ISSN 0013-5070. Archived (PDF) from the original on 20 May 2024. Retrieved 14 August 2024.
[his family] includes two girls and a boy
- ↑ "Niklaus E. Wirth - A.M. Turing Award Laureate". Association for Computing Machinery. 2019. Archived from the original on 29 June 2017. Retrieved 8 January 2024.
- ↑ Henderson, Harry (2009). "Wirth, Niklaus". Encyclopedia of Computer Science and Technology. Infobase Publishing. p. 514. ISBN 978-1-4381-1003-5.
- 1 2 3 4 5 6 7 8 9 10 11 Zehnder, Carl August: "Wirth, Niklaus" in German, French and Italian in the online Historical Dictionary of Switzerland, 13 February 2024.
- 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 Wirth, Niklaus (13 March 2018). "A. M. Turing Award Oral History Interview with Niklaus Wirth" (PDF) (Interview). Interviewed by Elena Trichina. Zürich: Association for Computing Machinery.
- 1 2 3 4 5 6 "Niklaus Wirth". Orden Pour le mérite für Wissenschaften und Künste (in German). Retrieved 27 September 2026.
- 1 2 Niklaus Wirth at the Mathematics Genealogy Project
- 1 2 3 4 5 6 Märki, Martina (1994). "Von Pascal bis Oberon seiner Zeit voraus" [Ahead of his time, from Pascal to Oberon]. ETH intern (in German). No. 9/94. pp. 22–23.
- 1 2 3 4 5 6 7 8 Henger, Gregor (5 February 1999). "Von Pascal zu Lola: Der Lebensweg eines Informatik-Pioniers" [From Pascal to Lola: The life of a computer science pioneer]. Neue Zürcher Zeitung (in German). No. 29. p. 75.
- 1 2 3 4 5 6 7 8 Lee, J. A. N. "Niklaus Wirth". Computer Pioneers. IEEE Computer Society. Retrieved 27 September 2026.
- 1 2 3 4 5 6 7 8 Henger, Gregor (3 March 1994). "Die effiziente Einmann-Industrie der ETH Zürich" [The efficient one-man industry of ETH Zurich]. Die Weltwoche (in German). No. 9. p. 49.
- 1 2 3 4 5 6 S. B. (5 February 1999). "«Ein steiniger Boden, aber ein paar Gräslein spriessen doch»: Ein Gespräch über die Anfänge der Informatik und die Zukunft des Technikstandorts Schweiz" ["Stony ground, but a few blades of grass do grow": A conversation about the beginnings of computer science and the future of Switzerland as a place for technology]. Neue Zürcher Zeitung (in German). No. 29. p. 75.
- ↑ Nef, Andreas; Wildi, Tobias (2005). "Informatik (INFK): Aufgaben im Wandel". ETHistory 1855–2005 (in German). ETH Zürich.
- 1 2 3 4 5 G. H. (1 October 1991). "Innovative Entwicklungen in System-Software: Ein Gespräch mit Prof. Niklaus Wirth" [Innovative developments in system software: A conversation with Prof. Niklaus Wirth]. Neue Zürcher Zeitung (in German). No. 227. p. 37.
- 1 2 3 Pomberger, Gustav; Mössenböck, Hanspeter; Rechenberg, Peter (2000). "Niklaus Wirth - a Pioneer of Computer Science". The School of Niklaus Wirth: The Art of Simplicity. Gulf Professional Publishing. p. 6. ISBN 978-3-932588-85-3.
- 1 2 Wirth, Niklaus (29 January 1999). "Erfindungen der Informatik: Ein Plädoyer für Zuverlässigkeit anstelle von Innovationitis" [Inventions of computer science: A plea for reliability instead of innovationitis]. Neue Zürcher Zeitung (in German). No. 23. p. 67.
- ↑ Wirth, Niklaus. "Project Oberon (New Edition 2013)". ETH Zurich, Department of Computer Science. Retrieved 28 September 2026.
- ↑ Petzold, Charles (9 September 1996). "Programming Languages: Survivors and Wannabes". The New York Times. ISSN 0362-4331. Archived from the original on 9 March 2018. Retrieved 8 March 2018.
- 1 2 Spicer, Dag (5 January 2024). "In Memoriam: Niklaus Wirth (1934–2024)". Computer History Museum. Retrieved 28 September 2026.
- ↑ 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.
- ↑ Knudsen, Svend Erik (1983). Medos-2: a Modula-2 oriented operating system for the personal computer Lilith (Doctoral Thesis). ETH Zurich. doi:10.3929/ethz-a-000300091. hdl:20.500.11850/137906. Archived from the original on 4 January 2024. Retrieved 4 January 2024.
I am indebted to Prof. N. Wirth for conceiving and coordinating the Lilith project, for giving me the opportunity to design and implement the operating system Medos-2, and for supervising this thesis.
- ↑ Franz, Michael (2000). "Oberon: The Overlooked Jewel". In Böszörményi, László (ed.). The School of Niklaus Wirth: The Art of Simplicity. Gulf Professional Publishing. pp. 42, 45. ISBN 978-3-932588-85-3.
- ↑ Proven, Liam (29 March 2022). "The wild world of non-C operating systems". The Register. Retrieved 4 April 2024.
- ↑ Wirth, Niklaus (1995). Digital Circuit Design. Springer.
- ↑ 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. ISBN 978-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.
- ↑ Gerber, Beat (18 August 1995). "«Innovative Programme nicht erwünscht»" ["Innovative programs not wanted"]. Tages-Anzeiger (in German). p. 2.
- ↑ Wirth, Niklaus (February 1995). "A Plea for Lean Software". Computer. 28 (2): 64–68. Bibcode:1995Compr..28b..64W. doi:10.1109/2.348001. S2CID 44803077.
- 1 2 3 Meyer, Bertrand (16 January 2024) [First published on BLOG@CACM, 9 January 2024]. "Niklaus Wirth and the Importance of Being Simple". Bertrand Meyer's technology+ blog. Retrieved 28 September 2026.
- 1 2 3 4 Proven, Liam (4 January 2024). "RIP: Software design pioneer and Pascal creator Niklaus Wirth". The Register. Archived from the original on 7 January 2024. Retrieved 6 January 2024.
- ↑ "Frequently Asked Questions (FAQ): What are Go's ancestors?". The Go Programming Language. Retrieved 28 September 2026.
- ↑ 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.
- ↑ "Niklaus Wirth". Marcel Benoist Foundation. Retrieved 27 September 2026.
- ↑ "ACM Fellows by year". acm.org. Archived from the original on 3 January 2024. Retrieved 3 January 2024.
- ↑ "Outstanding Research Award". SIGSOFT. Retrieved 1 April 2024.
- ↑ "Niklaus Wirth". American Academy of Arts and Sciences. Retrieved 28 September 2026.
- ↑ "Niklaus Wirth: 2004 Fellow". Computer History Museum (CHM). Archived from the original on 3 July 2019. Retrieved 15 October 2019.
- ↑ "Programming Languages Achievement Award". ACM SIGPLAN. Retrieved 27 September 2026.
- ↑ Wirth, Niklaus (April 1971). "Program Development by Stepwise Refinement". Communications of the ACM. 14 (4): 221–227. doi:10.1145/362575.362577. hdl:20.500.11850/80846.
- ↑ 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-3-642-48355-4. S2CID 11348419.
- ↑ Gehani, Narain (1991). Ada: Concurrent Programming. Silicon Press. p. 209. ISBN 978-0-929306-08-7.
- ↑ Gill, Nasib Singh. Software Engineering. Khanna Publishing House. p. 192. ISBN 978-81-906116-3-3.
- ↑ Dooley, John F. (25 November 2017). Software Development, Design and Coding: With Patterns, Debugging, Unit Testing, and Refactoring. Apress. p. 54. ISBN 978-1-4842-3153-1.
- ↑ Brooks, Frederick P. (Frederick Phillips) (1975). The Mythical Man-Month. Reading, Mass. : Addison-Wesley Pub. Co. p. 143. ISBN 978-0-201-00650-6.
- ↑ "Niklaus Wirth: 1984 ACM A. M. Turing Award Recipient". Communications of the ACM. 28 (2). February 1985. doi:10.1145/1283920.1283941.
- ↑ Wirth, Niklaus (8 January 1973). Systematic Programming: An Introduction. Prentice-Hall. ISBN 0-13-880369-2.
- ↑ Wirth, Niklaus (1973). "Cover flap". Systematic Programming: An Introduction. Prentice-Hall. ISBN 0-13-880369-2.
- ↑ Abrahams, Paul (July 1974). "Systematic Programming: An Introduction by Niklaus Wirth". Mathematics of Computation. 28 (127). American Mathematical Society: 881–883. doi:10.2307/2005728. JSTOR 2005728.
- ↑ Pascal User Manual and Report Second Edition.
- ↑ "Kathleen Jensen's Speech at the Wirth Symposium (20.02.2014)". YouTube. 25 February 2014. Archived from the original on 6 January 2024. Retrieved 6 January 2024.
- ↑ Wirth, Niklaus (1973). The programming language Pascal (Revised Report) (Report). ETH Zurich. pp. 49 p. doi:10.3929/ethz-a-000814158. hdl:20.500.11850/68910.
- ↑ 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.
- ↑ Hartel, Pieter H. (May 1982). "Pascal for systems programmers" (PDF). ECODU-32. Archived (PDF) from the original on 22 March 2020. Retrieved 3 January 2024.
- ↑ Wirth, Niklaus (1976). Algorithms + Data Structures = Programs. Englewood Cliffs, NJ: Prentice-Hall. ISBN 978-0-13-022418-7.
- ↑ Citations collected by the Association for Computing Machinery (ACM)
- ↑ Wirth, Niklaus (1986). "Preface to the 1986 edition". Algorithms & Data Structures. Prentice-Hall. p. 9. ISBN 978-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.
- ↑ Wirth, Niklaus. "Algorithms and Data Structures" (PDF). ETH Zürich. Archived (PDF) from the original on 17 April 2021. Retrieved 4 January 2024.
© N. Wirth 1985 (Oberon version: August 2004).
- ↑ Wirth, Niklaus; Gutknecht, Jürg (1992). Project Oberon: The Design of an Operating System and Compiler (PDF). Addison-Wesley, ACM Press. ISBN 978-0-201-54428-2. Archived from the original (PDF) on 12 April 2013. Out of print. 2005 edition, PDF. Archived 8 July 2021 at the Wayback Machine
- ↑ Reiser, Martin; Wirth, Niklaus (1992). Programming in Oberon: Steps Beyond Pascal and Modula (PDF). Addison-Wesley, ACM Press. ISBN 978-0-201-56543-0. Archived from the original (PDF) on 16 April 2016. Retrieved 1 June 2017.. Out of print.
Further reading
[edit]- Wirth, N. (1974). "On the Design of Programming Languages" (PDF). Proc. IFIP Congress 74: 386–393.
- Wirth, Niklaus (1993). Recollections about the development of Pascal. Second ACM SIGPLAN Conference on History of Programming Languages (HOPL-II). pp. 333–342. doi:10.1145/154766.155378.
- Wirth, Niklaus (2007). Modula-2 and Oberon. Third ACM SIGPLAN Conference on History of Programming Languages (HOPL III). doi:10.1145/1238844.1238847.
- Wirth, Niklaus (2008). "A Brief History of Software Engineering". IEEE Annals of the History of Computing. 30 (3): 32–39. doi:10.1109/MAHC.2008.33.
- Böszörményi, László; Gutknecht, Jürg; Pomberger, Gustav, eds. (2000). The School of Niklaus Wirth: The Art of Simplicity. dpunkt.verlag; Morgan Kaufmann Publishers. ISBN 1-55860-723-4.
- Garfinkel, Simson; Spafford, Eugene H. (March 2024). "In Memoriam: Niklaus Wirth". Communications of the ACM. 67 (3): 20. doi:10.1145/3641309.
- Beebe, Nelson H. F. (2024). "Bibliography of Niklaus Wirth (1934–2024)". TUGboat. 45 (1). doi:10.47397/tb/45-1/tb139beebe-wirth.
- Meyer, Bertrand (2025). "Obituary for Niklaus Wirth". Formal Aspects of Computing. 37 (2): 1–11. doi:10.1145/3712294.
External links
[edit]- Official website, ETH Zürich
- Niklaus Wirth at DBLP Bibliography Server
- Niklaus E. Wirth at the Association for Computing Machinery
- "From Programming Language Design to Computer Construction", Turing Award lecture, 1984
- Oral history interview with Niklaus Wirth by Elena Trichina, 2018
- Project Oberon (New Edition 2013), with the complete sources of the system
- 1934 births
- 2024 deaths
- Academic staff of ETH Zurich
- Computer science educators
- ETH Zurich alumni
- Fellows of the American Academy of Arts and Sciences
- Fellows of the Association for Computing Machinery
- Formal methods people
- Members of Academia Europaea
- Pascal (programming language)
- People from Winterthur
- Programming language designers
- Programming language researchers
- Recipients of the Pour le Mérite (civil class)
- Scientists at PARC (company)
- Swiss computer scientists
- Swiss electronics engineers
- Turing Award laureates
- UC Berkeley College of Engineering alumni
- Université Laval alumni