Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

Niklaus Wirth

From Wikipedia, the free encyclopedia
Swiss computer scientist (1934–2024)

Niklaus Wirth
Wirth in 2005
Born
Niklaus Emil Wirth

(1934-02-15)15 February 1934
Winterthur, Switzerland
Died1 January 2024(2024-01-01) (aged 89)
Zürich, Switzerland
Education
Known forALGOL W,Euler,Pascal,Modula,Modula-2,Oberon,Oberon-2,Oberon-07,Oberon System
Children3[3]
Awards
Scientific career
FieldsComputer science
Institutions
ThesisA Generalization of Algol (1963)
Doctoral advisorHarry Huskey,Edward Feigenbaum
Doctoral studentsMartin Odersky,Michael Franz
Signature
Signature of Niklaus Wirth

Niklaus Emil Wirth (IPA:/vɛrt/) (15 February 1934 – 1 January 2024) was a Swisscomputer scientist. He designed severalprogramming languages, includingPascal, and pioneered several classic topics in software engineering. In 1984, he won theTuring Award, generally recognized as the highest distinction incomputer science, "for developing a sequence of innovative computer languages".[4]

Early life and education

[edit]

Niklaus Emil Wirth was born inWinterthur, Switzerland, on 15 February 1934.[5] He was the son of Hedwig (née Keller) and Walter Wirth, a high school teacher.[6] Wirth studiedelectronic engineering at theFederal Institute of Technology, Zürich (ETH Zürich) from 1954 to 1958, graduating with a Bachelor of Science (B.S.) degree.[6] In 1960, he earned a Master of Science (M.Sc.) fromUniversité Laval inQuebec.[6] Then in 1963, he was awarded a PhD inelectrical engineering and computer science (EECS) from theUniversity of California, Berkeley, supervised by computer design pioneerHarry Huskey.[7]

Career

[edit]

From 1963 to 1967, Wirth served as assistant professor ofcomputer science atStanford University and again at theUniversity of Zürich.[6] In 1968, he became a professor ofinformatics at ETH Zürich, taking two one-year sabbaticals atXerox PARC in California (1976–1977 and 1984–1985). He retired in 1999.[7]

Although Wirth was involved with developinginternational standards in programming and informatics, as a member of theInternational Federation for Information Processing (IFIP)Working Group 2.1 on Algorithmic Languages and Calculi,[8] whichspecified, maintains, and supports theprogramming languagesALGOL 60 andALGOL 68,[9] he got frustrated by the discussions in the standards groups and published his languages later on as personal work, mainlyPascal,Modula-2 andOberon.

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

Programming languages

[edit]
Wirth in 1969

Wirth was the chief designer of the programming languagesEuler (1965),PL360 (1966),ALGOL W (1966), Pascal (1970),[11]Modula (1975), Modula-2 (1978),[7] Oberon (1987),Oberon-2 (1991), andOberon-07 (2007).[12] He was also a major part of the design and implementation team for the operating systems Medos-2 (1983, for theLilithworkstation),[13] andOberon (1987, for theCeres workstation),[14][15] and for theLola (1995)digital hardware design and simulation system.[16][17]

In 1984, Wirth received theAssociation for Computing Machinery (ACM)Turing Award for the development of these languages.[18] In 1994, he was inducted as a Fellow of the ACM.[19]

In 1999, he received theACM SIGSOFT Outstanding Research Award[20]

Wirth's law

[edit]
Main article:Wirth's law

In 1995, he popularized the adage now namedWirth'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."[21]

Publications

[edit]

The April 1971Communications of the ACM article "Program Development by Stepwise Refinement",[22][23] concerning the teaching of programming, is considered to be a classic text in software engineering.[24] The paper is considered to be the earliest work to formally outline thetop-down method for designing programs.[25][26] The article was discussed byFred Brooks in his influential bookThe Mythical Man-Month and was described as "seminal" in the ACM's brief biography of Wirth published in connection to his Turing Award.[27][28]

The 1973 textbook,Systematic Programming: An Introduction,[29] was described as a quality source for mathematicians desiring to understand the nature of programming in a 1974 review.[30] 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."[31] Described in the review as a challenging text to work through, it was nevertheless recommended as useful reading for those interested in numerical mathematics.[32]

In 1974,The Pascal User Manual and Report,[33] jointly written[i] withKathleen Jensen,[36] served as the basis of many language implementation efforts in the 1970s (BSD Pascal[37]), and 1980s in the United States and across Europe.[38][39]

In 1975, he wrote the bookAlgorithms + Data Structures = Programs, which gained wide recognition.[40] Major revisions of this book with the new titleAlgorithms & Data Structures were published in 1986 and 2004.[41][42] 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.[41][42]

In 1992, Wirth andJürg Gutknecht published the full documentation of the Oberon operating system.[43] A second book, with Martin Reiser, was intended as a programming guide.[44]

Death

[edit]

Wirth died in Zürich on New Year's Day 2024, at age 89.[6][45]

See also

[edit]

Notes

[edit]
  1. ^First chapter (Documentation) is a joint work, which according to Jensen has been edited by Wirth.[34] Second chapter is by Wirth (also published separately[35]).

References

[edit]
  1. ^"IEEE Emanuel R. Piore Award Recipients"(PDF).IEEE. Archived fromthe original(PDF) on 24 November 2010. Retrieved20 March 2021.
  2. ^"Niklaus Wirth 2004 Fellow".Computer History Museum.Archived from the original on 3 July 2019. Retrieved1 December 2017.
  3. ^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. Retrieved14 August 2024.[his family] includes two girls and a boy
  4. ^"Niklaus E. Wirth - A.M. Turing Award Laureate". Association for Computing Machinery. 2019.Archived from the original on 29 June 2017. Retrieved8 January 2024.
  5. ^Henderson, Harry (2009)."Wirth, Niklaus".Encyclopedia of Computer Science and Technology. Infobase Publishing. p. 514.ISBN 978-1-4381-1003-5.
  6. ^abcde Zehnder, Carl August: Wirth, Niklaus inGerman,French andItalian in the onlineHistorical Dictionary of Switzerland, 13 February 2024.
  7. ^abcPomberger, 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.
  8. ^Jeuring, Johan;Meertens, Lambert; Guttmann, Walter (17 August 2016)."Profile of IFIP Working Group 2.1".Foswiki.Archived from the original on 8 March 2021. Retrieved4 October 2020.
  9. ^Swierstra, Doaitse;Gibbons, Jeremy;Meertens, Lambert (2 March 2011)."ScopeEtc: IFIP21: Foswiki".Foswiki.Archived from the original on 2 September 2018. Retrieved4 October 2020.
  10. ^"Niklaus Wirth: 2004 Fellow".Computer History Museum (CHM).Archived from the original on 3 July 2019. Retrieved15 October 2019.
  11. ^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. Retrieved8 March 2018.
  12. ^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. Retrieved17 January 2021.
  13. ^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. Retrieved4 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.
  14. ^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.
  15. ^Proven, Liam (29 March 2022)."The wild world of non-C operating systems".The Register. Retrieved4 April 2024.
  16. ^Wirth, Niklaus (1995).Digital Circuit Design. Springer.
  17. ^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.
  18. ^Haigh, Thomas (1984)."Niklaus E. Wirth".A. M. Turing Award. Association for Computing Machinery.Archived from the original on 19 September 2017. Retrieved15 October 2019.
  19. ^"ACM Fellows by year".acm.org.Archived from the original on 3 January 2024. Retrieved3 January 2024.
  20. ^"Outstanding Research Award".SIGSOFT. Retrieved1 April 2024.
  21. ^Wirth, Niklaus (February 1995). "A Plea for Lean Software".Computer.28 (2):64–68.doi:10.1109/2.348001.S2CID 44803077.
  22. ^Wirth, Program development by stepwise refinement, Communications of the ACM,. 14:221–227, ACM Press, 1971
  23. ^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.
  24. ^Gehani, Narain (1991).Ada: Concurrent Programming. Silicon Press. p. 209.ISBN 978-0-929306-08-7.
  25. ^Gill, Nasib Singh.Software Engineering. Khanna Publishing House. p. 192.ISBN 978-81-906116-3-3.
  26. ^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.
  27. ^Brooks, Frederick P. (Frederick Phillips) (1975).The Mythical Man-Month. Reading, Mass. : Addison-Wesley Pub. Co. p. 143.ISBN 978-0-201-00650-6.
  28. ^"Niklaus Wirth: 1984 ACM A. M. Turing Award Recipient".Communications of the ACM.28 (2). February 1985.doi:10.1145/1283920.1283941.
  29. ^Wirth, Niklaus (8 January 1973).Systematic Programming: An Introduction. Prentice-Hall.ISBN 0-13-880369-2.
  30. ^Abrahams, Paul; Wirth, Niklaus (July 1974). "Systematic Programming: An Introduction".Mathematics of Computation.28 (127): 881.doi:10.2307/2005728.JSTOR 2005728.
  31. ^Wirth, Niklaus (1973). "Cover flap".Systematic Programming: An Introduction. Prentice-Hall.ISBN 0-13-880369-2.
  32. ^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.
  33. ^Pascal User Manual and Report Second Edition.
  34. ^"Kathleen Jensen's Speech at the Wirth Symposium (20.02.2014)".YouTube. 25 February 2014.Archived from the original on 6 January 2024. Retrieved6 January 2024.
  35. ^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.
  36. ^*https://www.researchgate.net/scientific-contributions/Kathleen-Jensen-2058521472Archived 6 January 2024 at theWayback Machine
  37. ^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. Retrieved8 January 2024.
  38. ^Blotnick, Srully (July 1983)."Don't Fail Me Now"(PDF).Pascal News (26): 26.Archived(PDF) from the original on 5 January 2024. Retrieved3 January 2024.
  39. ^Hartel, Pieter H. (May 1982)."Pascal for systems programmers"(PDF). ECODU-32.Archived(PDF) from the original on 22 March 2020. Retrieved3 January 2024.
  40. ^Citations collected by theAssociation for Computing Machinery (ACM)
  41. ^abWirth, 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 byModula-2.
  42. ^abWirth, Niklaus."Algorithms and Data Structures"(PDF). ETH Zürich.Archived(PDF) from the original on 17 April 2021. Retrieved4 January 2024.© N. Wirth 1985 (Oberon version: August 2004).
  43. ^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 fromthe original(PDF) on 12 April 2013. Out of print.Online version of a 2nd editionArchived 5 April 2014 at theWayback Machine.2005 edition, PDF.Archived 8 July 2021 at theWayback Machine
  44. ^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 fromthe original(PDF) on 16 April 2016. Retrieved1 June 2017.. Out of print.
  45. ^Proven, Liam (4 January 2024)."RIP: Software design pioneer and Pascal creator Niklaus Wirth".The Register.Archived from the original on 7 January 2024. Retrieved6 January 2024.

Further reading

[edit]

External links

[edit]
This February 2024'suse ofexternal links may not follow Wikipedia's policies or guidelines. Pleaseimprove this article by removingexcessive orinappropriate external links, and converting useful links where appropriate intofootnote references.(February 2024) (Learn how and when to remove this message)
Niklaus Wirth at Wikipedia'ssister projects
Software
Programming
languages
Euler (1965) →PL360 (1966) →ALGOL W (1966) →Pascal (1970) →Modula (1975) →Modula-2 (1978) →Object Pascal (1986) →Oberon (1987) →Oberon-2 (1991) →Lola (1995) →Active Oberon (1998) →Oberon-07 (2007)
Operating systems
Formalisms
Books
Workstations
Lilith (1977) →Ceres (1985)
Workplaces
Collaborators
Awards
Computing
Computer
science
Software
Internet
Notable
people
Implementations
Technical
standards
Dialects
Formalisms
Community
Organizations
Professional
associations
Business
Education
Government
People
ALGOL 58
MAD
ALGOL 60
Simula
ALGOL 68
Comparison
Dialects
Compilers
Current
Discontinued
API
Microcomputer
Comparisons
Designer
Related to
ALGOL (1958)
Modula-2 (1977)
Ada (1983)
Oberon (1986)
Modula-3 (1988)
Oberon-2 (1991)
Component Pascal (1991)
Modula
By Wirth
Modula (1975) →Modula-2 (1978)
By others
Operating systems
Workstations
Developers
Organizations
People
Oberon
By Wirth
Oberon (1987) →Oberon-2 (1991) →Lola (1995) →Active Oberon (1998) →Oberon-07 (2007)
Operating systems
Workstation
Ceres (1985)
By others
Developers
Organizations
People
Fields
Concepts
Orientations
Models
Developmental
Other
Languages
Related fields
International
National
Academics
People
Other
Retrieved from "https://en.wikipedia.org/w/index.php?title=Niklaus_Wirth&oldid=1287667516"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2025 Movatter.jp