Software development is technical activity conducted by human beings. Niklaus Wirth More Quotes by Niklaus Wirth More Quotes From Niklaus Wirth But quality of work can be expected only through personal satisfaction, dedication and enjoyment. In our profession, precision and perfection are not a dispensable luxury, but a simple necessity. Niklaus Wirth dedication simple work A good designer must rely on experience, on precise, logic thinking; and on pedantic exactness. No magic will do. Niklaus Wirth design death thinking Complexity has and will maintain a strong fascination for many people. It is true that we live in a complex world and strive to solve inherently complex problems, which often do require complex mechanisms. However, this should not diminish our desire for elegant solutions, which convince by their clarity and effectiveness. Simple, elegant solutions are more effective, but they are harder to find than complex ones, and they require more time, which we too often believe to be unaffordable Niklaus Wirth learning strong believe C++ is an insult to the human brain Niklaus Wirth human-brain insult brain A primary cause of complexity is that software vendors uncritically adopt almost any feature that users want. Niklaus Wirth vendors causes want The belief that complex systems require armies of designers and programmers is wrong. A system that is not understood in its entirety, or at least to a significant degree of detail by a single individual, should probably not be built. Niklaus Wirth details degrees army In the practical world of computing, it is rather uncommon that a program, once it performs correctly and satisfactorily, remains unchanged forever. Niklaus Wirth computer forever world Time pressure gradually corrupts an engineer's standard of quality and perfection. It has a detrimental effect on people as well as products Niklaus Wirth code-quality perfection people Increasingly, people seem to misinterpret complexity as sophistication, which is baffling -- the incomprehensible should cause suspicion rather than admiration. Niklaus Wirth admiration causes people Software gets slower faster than hardware gets faster. (Or, sometimes known by] Grove [the head of Intel] giveth and Gates [the head of Microsoft] taketh away.) Niklaus Wirth microsoft learning sometimes Software is getting slower more rapidly than hardware becomes faster. Niklaus Wirth hardware software faster 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. Niklaus Wirth program results doe Whereas Europeans generally pronounce my name the right way ('Ni-klows Wirt'), Americans invariably mangle it into 'Nick-les Worth'. This is to say that Europeans call me by name, but Americans call me by value. Niklaus Wirth call-me names way Programming is usually taught by examples. Niklaus Wirth programming taught example Professors typically spend their time in meetings about planning, policy, proposals, fund-raising, consulting, interviewing, traveling, and so forth, but spend relatively little time at their drawing boards. As a result, they lose touch with the substance of their rapidly developing subject. They lose the ability to design; they lose sight of what is essential; and they resign themselves to teach academically challenging puzzles. Niklaus Wirth drawing design sight Prolific programmers contribute to certain disaster. Niklaus Wirth programming disaster certain 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. Niklaus Wirth style people looks But active programming consists of the design of new programs, rather than contemplation of old programs. Niklaus Wirth contemplation program design Our ultimate goal is extensible programming. By this, we mean the construction of hierarchies of modules, each module adding new functionality to the system. Niklaus Wirth hierarchy goal mean Good engineering is characterized by gradual, stepwise refinement of products that yields increased performance under given constraints and with given resources. Niklaus Wirth engineering resources yield