Our intellectual powers are rather geared to master static relations and that our powers to visualize processes evolving in time are relatively poorly developed. For that reason we should do (as wise programmers aware of our limitations) our utmost to shorten the conceptual gap between the static program and the dynamic process, to make the correspondence between the program (spread out in text space) and the process (spread out in time) as trivial as possible.
Edsger DijkstraComputer science has as much to do with computers as astronomy has to do with telescopes.
Edsger DijkstraIf debugging is the process of removing software bugs, then programming must be the process of putting them in.
Edsger DijkstraThanks to the greatly improved possibility of communication, we overrate its importance. Even stronger, we underrate the importance of isolation.
Edsger Dijkstra... as a slow-witted human being I have a very small head and I had better learn to live with it and to respect my limitations and give them full credit, rather than to try to ignore them, for the latter vain effort will be punished by failure.
Edsger DijkstraIf we wish to count lines of code, we should not regard them as "lines produced" but as "lines spent."
Edsger DijkstraI now have had my foggy crystal ball for quite a long time. Its predictions are invariably gloomy and usually correct, but I am quite used to that and they won't keep me from giving you a few suggestions, even if it is merely an exercise in futility whose only effect is to make you feel guilty.
Edsger Dijkstra