Top 109 Quotes & Sayings by Edsger Dijkstra - Page 2

Explore popular quotes and sayings by a Dutch scientist Edsger Dijkstra.
Last updated on April 21, 2025.
Thank goodness we don't have only serious problems, but ridiculous ones as well.
We are all shaped by the tools we use, in particular: the formalisms we use shape our thinking habits, for better or for worse, and that means that we have to be very careful in the choice of what we learn and teach, for unlearning is not really possible.
It used to be the program's purpose to instruct our computers; it became the computer's purpose to execute our programs. — © Edsger Dijkstra
It used to be the program's purpose to instruct our computers; it became the computer's purpose to execute our programs.
I don't need to waste my time with a computer just because I am a computer scientist.
[Though computer science is a fairly new discipline, it is predominantly based on the Cartesian world view. As Edsgar W. Dijkstra has pointed out] A scientific discipline emerges with the - usually rather slow! - discovery of which aspects can be meaningfully 'studied' in isolation for the sake of their own consistency.
The prisoner falls in love with his chains.
… what society overwhelmingly asks for is snake oil. Of course, the snake oil has the most impressive names — otherwise you would be selling nothing — like “Structured Analysis and Design”, “Software Engineering”, “Maturity Models”, “Management Information Systems”, “Integrated Project Support Environments” “Object Orientation” and “Business Process Re-engineering”.
Beware of "the real world". A speaker's apeal to it is always an invitation not to challenge his tacit assumptions.
FORTRAN, the infantile disorder, by now nearly 20 years old, is hopelessly inadequate for whatever computer application you have in mind today: it is now too clumsy, too risky, and too expensive to use.
I would therefore like to posit that computing's central challenge, how not to make a mess of it, has not yet been met.
I 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.
So-called "natural language" is wonderful for the purposes it was created for, such as to be rude in, to tell jokes in, to cheat or to make love in (and Theorists of Literary Criticism can even be content-free in it), but it is hopelessly inadequate when we have to deal unambiguously with situations of great intricacy, situations which unavoidably arise in such activities as legislation, arbitration, mathematics or programming.
John von Neumann draws attention to what seemed to him a contrast. He remarked that for simple mechanisms, it is often easier to describe how they work than what they do, while for more complicated mechanisms, it is usually the other way around.
Computer science is no more about computers than astronomy is about telescopes, biology is about microscopes or chemistry is about beakers and test tubes. Science is not about tools. It is about how we use them, and what we find out when we do.
The effort of using machines to mimic the human mind has always struck me as rather silly. I would rather use them to mimic something better. — © Edsger Dijkstra
The effort of using machines to mimic the human mind has always struck me as rather silly. I would rather use them to mimic something better.
LISP has jokingly been described as "the most intelligent way to misuse a computer." I think that description is a great compliment because it transmits the full flavour of liberation: it has assisted a number of our most gifted fellow humans in thinking previously impossible thoughts.
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.
We shall do a much better programming job, provided that we approach the task with a full appreciation of its tremendous difficulty, provided that we stick to modest and elegant programming languages, provided that we respect the intrinsic limitations of the human mind and approach the task as Very Humble Programmers.
Please don't fall into the trap of believing that I am terribly dogmatical about the go to statement. I have the uncomfortable feeling that others are making a religion out of it, as if the conceptual problems of programming could be solved by a single trick, by a simple form of coding discipline!
Experience does by no means automatically leads to wisdom and understanding.
Industry suffers from the managerial dogma that for the sake of stability and continuity, the company should be independent of the competence of individual employees.
The required techniques of effective reasoning are pretty formal, but as long as programming is done by people that don't master them, the software crisis will remain with us and will be considered an incurable disease. And you know what incurable diseases do: they invite the quacks and charlatans in, who in this case take the form of Software Engineering gurus.
I 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.
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.
I 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.
Testing shows the presence, not the absence of bugs.
If there is one 'scientific' discovery I am proud of, it is the discovery of the habit of writing without publication in mind.
Several people have told me that my inability to suffer fools gladly is one of my main weaknesses.
When we take the position that it is not only the programmer's responsibility to produce a correct program but also to demonstrate its correctness in a convincing manner, then the above remarks have a profound influence on the programmer's activity: the object he has to produce must be usefully structured.
Some consider the puzzles that are created by their omissions as spicy challenges, without which their texts would be boring; others shun clarity lest their work is considered trivial.
Computer science has as much to do with computers as astronomy has to do with telescopes.
A programming language is a tool that has profound influence on our thinking habits.
Progress is possible only if we train ourselves to think about programs without thinking of them as pieces of executable code. — © Edsger Dijkstra
Progress is possible only if we train ourselves to think about programs without thinking of them as pieces of executable code.
There is very little point in trying to urge the world to mend its ways as long as that world is still convinced that its ways are perfectly adequate.
The problems of the real world are primarily those you are left with when you refuse to apply their effective solutions.
Beauty is our business.
In the software business there are many enterprises for which it is not clear that science can help them; that science should try is not clear either.
In this respect a program is like a poem: you cannot write a poem without writing it. Yet people talk about programming as if it were a production process and measure "programmer productivity" in terms of "number of lines of code produced". In so doing they book that number on the wrong side of the ledger: we should always refer to "the number of lines of code spent".
When I came back from Munich, it was September, and I was Professor of Mathematics at the Eindhoven University of Technology. Later I learned that I had been the Department's third choice, after two numerical analysts had turned the invitation down; the decision to invite me had not been an easy one, on the one hand because I had not really studied mathematics, and on the other hand because of my sandals, my beard and my "arrogance" (whatever that may be).
... 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.
In passing I draw attention to another English expression which often occurs in Dutch texts: "the real world". In Dutch - and I am afraid not in Dutch alone - its usage is almost always a symptom of a violent anti-intellectualism.
PL/1, the fatal disease, belongs more to the problem set than to the solution set.
In their capacity as a tool, computers will be but a ripple on the surface of our culture. In their capacity as intellectual challenge, they are without precedent in the cultural history of mankind.
A 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.
The use of anthropomorphic terminology forces you linguistically to adopt an operational view. And it makes it practically impossible to argue about programs independently of their being executed.
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.
A most important, but also most elusive, aspect of any tool is its influence on the habits of those who train themselves in its use. If the tool is a programming language this influence is, whether we like it or not, an influence on our thinking habits.... A programming language is a tool that has profound influence on our thinking habits.
APL is a mistake, carried through to perfection. — © Edsger Dijkstra
APL is a mistake, carried through to perfection.
Mentally mutilated potential programmers beyond hope of regeneration.
This site uses cookies to ensure you get the best experience. More info...
Got it!