Niklaus Wirth Quotes (24 Quotes)


    The idea that one might derive satisfaction from his or her successful work, because that work is ingenious, beautiful, or just pleasing, has become ridiculed.


    Usually its users discover sooner or later that their program does not deliver all the desired results, or worse, that the results requested were not the ones really needed.

    I know of a particular, very large software producer that explicitly assumes that design takes 20 of developers' time, and debugging takes 80.

    Yet, I am convinced that there is a need for high quality software, and the time will come when it will be recognized that it is worth investing effort in its development and in using a careful, structured approach based on safe, structured languages.


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

    Our ultimate goal is extensible programming (EP). By this, we mean the construction of hierarchies of modules, each module adding new functionality to the system.

    Software development is technical activity conducted by human beings.

    But quality of work can be expected only through personal satisfaction, dedication and enjoyment. In our profession, precision and perfection are not a dispensible luxury, but a simple necessity.

    The creative activity of programming - to be distinguished from coding - is usually taught by examples serving to exhibit certain techniques.

    It is evidently necessary to generate and test candidates for solutions in some systematic manner.

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

    My duty as a teacher is to train, educate future programmers.

    Program construction consists of a sequence of refinement steps.

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

    Many people tend to look at programming styles and languages like religions: if you belong to one, you cannot belong to others. But this analogy is another fallacy.

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

    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.

    I have never designed a language for its own sake.

    Indeed, the woes of Software Engineering are not due to lack of tools, or proper management, but largely due to lack of sufficient technical competence.

    The possible solutions to a given problem emerge as the leaves of a tree, each node representing a point of deliberation and decision.

    My being a teacher had a decisive influence on making language and systems as simple as possible so that in my teaching, I could concentrate on the essential issues of programming rather than on details of language and notation.

    A good designer must rely on experience, on precise, logic thinking; and on pedantic exactness. No magic will do.

    Nevertheless, I consider OOP as an aspect of programming in the large; that is, as an aspect that logically follows programming in the small and requires sound knowledge of procedural programming.


    More Niklaus Wirth Quotations (Based on Topics)


    Programming - Language - Time - Teachers - Experience - Progress - Design - Education - Work & Career - Success - Engineering - Decision Making - Necessity - Metaphor & Analogy - Logic - Perfection - Beauty - Money & Wealth - Management - View All Niklaus Wirth Quotations

    Related Authors


    Charles Darwin - Vera Rubin - Tycho Brahe - Thomas Huxley - Michael Behe - Melvin Calvin - John Dalton - Carl Zeiss - Antonie van Leeuwenhoek - Alexis de Tocqueville


Authors (by First Name)

A - B - C - D - E - F - G - H - I - J - K - L - M
N - O - P - Q - R - S - T - U - V - W - X - Y - Z

Other Inspiring Sections