Edsger W. Dijkstra
1930–2002 · Dutch computer scientist
Topics: programming, software engineering, debugging, learning
The purpose of abstracting is not to be vague, but to create a new semantic level in which one can be absolutely precise.
— Edsger W. DijkstraIn 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.
— Edsger W. DijkstraUsing PL/1 must be like flying a plane with 7000 buttons, switches and handles to manipulate in the cockpit.
— Edsger W. DijkstraI think of the company advertising "Thought Processors" or the college pretending that learning BASIC suffices or at least helps, whereas the teaching of BASIC should be rated as a criminal offence: it mutilates the mind beyond recovery.
— Edsger W. DijkstraIf you want more effective programmers, you will discover that they should not waste their time debugging, they should not introduce the bugs to start with.
— Edsger W. DijkstraI mean, if 10 years from now, when you are doing something quick and dirty, you suddenly visualize that I am looking over your shoulders and say to yourself "Dijkstra would not have liked this", well, that would be enough immortality for me.
— Edsger W. DijkstraWrite 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.
— Edsger W. DijkstraProgram testing can be used to show the presence of bugs, but never to show their absence!
— Edsger W. DijkstraA convincing demonstration of correctness being impossible as long as the mechanism is regarded as a black box, our only hope lies in not regarding the mechanism as a black box.
— Edsger W. DijkstraSome people found error messages they couldn't ignore more annoying than wrong results, and, when judging the relative merits of programming languages, some still seem to equate "the ease of programming" with the ease of making undetected mistakes.
— Edsger W. DijkstraSimplicity is a great virtue but it requires hard work to achieve it and education to appreciate it. And to make matters worse: complexity sells better.
— Edsger W. DijkstraHow 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?
— Edsger W. DijkstraMy point today is that, if we wish to count lines of code, we should not regard them as "lines produced" but as "lines spent": the current conventional wisdom is so foolish as to book that count on the wrong side of the ledger.
— Edsger W. DijkstraIt is time to unmask the computing community as a Secret Society for the Creation and Preservation of Artificial Complexity.
— Edsger W. DijkstraWhen we had no computers, we had no programming problem either. When we had a few computers, we had a mild programming problem. Confronted with machines a million times as powerful, we are faced with a gigantic programming problem.
— Edsger W. DijkstraIt is not the task of the University to offer what society asks for, but to give what society needs.
— Edsger W. DijkstraAre 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?
— Edsger W. DijkstraThe problems of the real world are primarily those you are left with when you refuse to apply their effective solutions.
— Edsger W. DijkstraThe effective exploitation of his powers of abstraction must be regarded as one of the most vital activities of a competent programmer.
— Edsger W. DijkstraMay, in spite of all distractions generated by technology, all of you succeed in turning information into knowledge, knowledge into understanding, and understanding into wisdom.
— Edsger W. Dijkstra