Niklaus Wirth

Niklaus E. Wirth (15 February 1934 – 1 January 2024) was a Swiss computer scientist and winner of the 1984 Turing Award. He is best known for designing several programming languages, including Pascal, and for pioneering several classic topics in software engineering.

Quotes

 * Software gets slower faster than hardware gets faster.
 * Variation: Software is decelerating faster than hardware is accelerating.
 * aka "Wirth's law"
 * aka "Wirth's law"


 * Go To statement considered harmful.
 * Often attributed to Edsger Wybe Dijkstra, but it was the title to a letter in CACM 11, 3 (March, 1968). However The original title of "A Case against the GO TO Statement" (EWD215, PDF here, ACM has its own copy online) was changed by the editor Niklaus Wirth, to speed up publication. Dijkstra explains it himself in EWD1308 (see near the end of the article).


 * In our profession, precision and perfection are not a dispensable luxury, but a simple necessity.
 * Niklaus Wirth (1997) "A Few Words with Niklaus Wirth". Dr Carlo Pescio eds. June 1997.


 * Reliable and transparent programs are usually not in the interest of the designer.
 * Niklaus Wirth (1999) "A Digital Contrarian Retires". Beat Gerber eds., June 1999.


 * ... we do not consider it as good engineering practice to consume a resource lavishly just because it happens to be cheap.
 * Niklaus Wirth (2013) "Project Oberon". Section 2.3, p. 19.

Program Development by Stepwise Refinement (1971)

 * As a matter of fact, the adaptability of a program to changes in its objectives (often called maintainability) and to changes in its environment (nowadays called portability) can be measured primarily in terms of the degree to which it is neatly structured.


 * But active programming consists of the design of new programs, rather than contemplation of old programs.


 * Clearly, programming courses should teach methods of design and construction, and the selected examples should be such that a gradual development can be nicely demonstrated.


 * During the process of stepwise refinement, a notation which is natural to the problem in hand should be used as long as possible.


 * Experience shows that the success of a programming course critically depends on the choice of these examples.


 * In the practical world of computing, it is rather uncommon that a program, once it performs correctly and satisfactorily, remains unchanged forever.


 * Programming is usually taught by examples.

Quotes about Niklaus Wirth

 * Whereas Europeans generally pronounce his name the right way ('Nick-louse Veert'), Americans invariably mangle it into 'Nickel's Worth.' This is to say that Europeans call him by name, but Americans call him by value.
 * Introduction by at the IFIP Congress (1965).