ArticleslgStudy

computer science

Niklaus Wirth

Niklaus Wirth is a computer science topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand Niklaus Wirth rather than just read about it. In short: Niklaus Emil Wirth (IPA: ) (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.

Niklaus Wirth — main illustration
Niklaus Wirth — illustration

Key takeaways

  • Niklaus Wirth belongs to computer science; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect Niklaus Wirth to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of Niklaus Wirth from memory before moving on to harder problems.

Reference excerpt

Niklaus Emil Wirth (IPA: ) (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".

Early life and education Niklaus Emil Wirth was born in Winterthur, Switzerland, on 15 February 1934. He was the son of Hedwig (née Keller) and Walter Wirth, a high school teacher. Wirth studied electronic engineering at the Federal Institute of Technology, Zürich (ETH Zürich) from 1954 to 1958, graduating with a Bachelor of Science (B.S.) degree. In 1960, he earned a Master of Science (M.Sc.) from Université Laval in Quebec. Then in 1963, he was awarded a PhD in electrical engineering and computer science (EECS) from the University of California, Berkeley, supervised by computer design pioneer Harry Huskey.

Career From 1963 to 1967, Wirth served as assistant professor of computer science at Stanford University and again at the University of Zürich. In 1968, he became a 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. Although Wirth was involved with developing international standards in programming and informatics, as a member of the International Federation for Information Processing (IFIP) Working Group 2.1 on Algorithmic Languages and Calculi, which specified, maintains, and supports the programming languages ALGOL 60 and ALGOL 68, he got frustrated by the discussions in the standards groups and published his languages later as personal work, mainly Pascal, Modula-2 and Oberon. 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."

Programming languages

Wirth was the chief designer of the programming languages Euler (1965), PL360 (1966), ALGOL W (1966), Pascal (1970), 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, Wirth 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. In 1999, he received the ACM SIGSOFT Outstanding Research Award.

Wirth's law

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."

Publications The April 1971 Communications of the ACM article "Program Development by Stepwise Refinement", concerning the teaching of programming, is considered to be a classic text in software engineering. The paper is considered to be the earliest work to formally outline the top-down method for designing programs. 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. The 1973 textbook Systematic Programming: An Introduction was described as a quality source for mathematicians desiring to understand the nature of programming in a 1974 review. 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." Described in the review as a challenging text to work through, it was nevertheless recommended as useful reading for those interested in numerical mathematics. In 1974, The Pascal User Manual and Report, jointly written with Kathleen Jensen, served as the basis of many language implementation efforts in the 1970s (BSD Pascal), and 1980s in the United States and across Europe. In 1975, he wrote the book Algorithms + Data Structures = Programs, which gained wide recognition. Major revisions of this book with the new title Algorithms & Data Structures were published in 1986 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. In 1992, Wirth and Jürg Gutknecht published the full documentation of the Oberon operating system. A second book, with Martin Reiser, was intended as a programming guide.

Death Wirth died in Zürich on New Year's Day 2024, at age 89.

See also 21655 Niklauswirth asteroid Extended Backus–Naur form Wirth syntax notation Bucky bit Wirth–Weber precedence relationship List of pioneers in computer science

Notes

References

Further reading 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. S2CID 13214445. Wirth, N. (1974). "On the Design of Programming Languages" (PDF). Proc. IFIP Congress 74: 386–393.

External links

Official website, ETH Zürich Biography at 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 "Pascal and Its Successors"—Paper by Niklaus Wirth; also includes short biography "A Few Words with Niklaus Wirth", Software Development, Vol. 5 No. 6, June 1997 The School of Niklaus Wirth: The Art of Simplicity, by László Böszörményi, Jürg Gutknecht, Gustav Pomberger (editors). dpunkt.verlag; Morgan Kaufmann Publishers, 2000. ISBN 3-932588-85-1, ISBN 1-55860-723-4. The book Compiler Construction The book Algorithms and Data Structures The book Project Oberon: The Design of an Operating System and Compiler. The book about the Oberon language and operating system is now available as a PDF file. The PDF file has an additional appendix "Ten Years After: From Objects to Components". Project Oberon 2013—Online 2nd edition of the preceding book adapted for the reimplementation on FPGA hardware.

Illustrations

Niklaus Wirth illustration
Niklaus Wirth illustration
Niklaus Wirth: Wirth in 1969
Wirth in 1969

Worked examples

Example 1 — a first encounter with Niklaus Wirth

Start with the simplest possible case. Write down what Niklaus Wirth claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In computer science, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to Niklaus Wirth before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about Niklaus Wirth ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of Niklaus Wirth

In research
Niklaus Wirth appears in computer science research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses Niklaus Wirth in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
Niklaus Wirth is common in secondary-school and first-year university syllabi. It links to neighbouring topics 1934 births, 2024 deaths, Academic staff of ETH Zurich, so understanding it makes those chapters shorter.
In everyday life
Look for Niklaus Wirth outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study Niklaus Wirth in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what Niklaus Wirth means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain Niklaus Wirth out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is Niklaus Wirth in simple terms?

Niklaus Emil Wirth (IPA: ) (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.

Why does Niklaus Wirth matter?

Because it connects several computer science ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study Niklaus Wirth?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on Niklaus Wirth.

Tags

  • 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

Keep exploring