53 quotes
It is time to unmask the computing community as a Secret Society for the Creation and Preservation of Artificial Complexity.
Dijkstra (1996)
Are you quite sure that all those bells and whistles, all those wonderful facilities of your so-called "powerful" programming languages belong to the solution set rather than to the problem set?
Dijkstra (1976)
In the good old days physicists repeated each other's experiments, just to be sure. Today they stick to FORTRAN, so that they can share each other's programs, bugs included.
How do we tell truths that might hurt? (1975)
Write a paper promising salvation, make it a 'structured' something or a 'virtual' something, or 'abstract', 'distributed' or 'higher-order' or 'applicative' and you can almost be certain of having started a new cult.
Dijkstra (1979)
Besides a mathematical inclination, an exceptionally good mastery of one's native tongue is the most vital asset of a competent programmer.
How do we tell truths that might hurt? (1975)
Testing shows the presence, not the absence of bugs
Dijkstra (1969)
It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration.
How do we tell truths that might hurt? (1975)
About the use of language: it is impossible to sharpen a pencil with a blunt axe. It is equally vain to try to do it with ten blunt axes instead.
How do we tell truths that might hurt? (1975)
APL is a mistake, carried through to perfection. It is the language of the future for the programming techniques of the past: it creates a new generation of coding bums.
How do we tell truths that might hurt? (1975)
Using PL/1 must be like flying a plane with 7000 buttons, switches and handles to manipulate in the cockpit.
The Humble Programmer (1972)
Elegance is not a dispensable luxury but a quality that decides between success and failure.
We can found no scientific discipline, nor a hearty profession, on the technical mistakes of the Department of Defense and, mainly, one computer manufacturer.
How do we tell truths that might hurt? (1975)
If debugging is the process of removing bugs, then programming must be the process of putting them in.
An abstraction is one thing that represents several real things equally well.
Probably I am very naive, but I also think I prefer to remain so, at least for the time being and perhaps for the rest of my life.
Testing can only prove the presence of bugs, not their absence.
When FORTRAN has been called an infantile disorder, full PL/1, with its growth characteristics of a dangerous tumor, could turn out to be a fatal disease.
The Humble Programmer (1972)
The competent programmer is fully aware of the strictly limited size of his own skull; therefore he approaches the programming task in full humility, and among other things he avoids clever tricks like the plague.
Dijkstra (1972)
Programming is one of the most difficult branches of applied mathematics; the poorer mathematicians had better remain pure mathematicians.
How do we tell truths that might hurt? (1975)
How do we convince people that in programming simplicity and clarity —in short: what mathematicians call "elegance"— are not a dispensable luxury, but a crucial matter that decides between success and failure?