Progress is possible only if we train ourselves to think about programs without thinking of them as pieces of executable code.
Edsger DijkstraRead
The purpose of abstraction is not to be vague, but to create a new semantic level in which one can be absolutely precise.
Interpretation
Abstraction aims to clarify concepts by allowing for precise expression without ambiguity.
In this quote, Edsger Dijkstra emphasizes that the intention behind abstraction is not to obscure meaning, but rather to elevate understanding to a clearer and more precise level. Abstraction serves as a powerful tool in various fields, especially in computer science and mathematics, where it enables individuals to simplify complex ideas while maintaining accuracy in communication and thought.
In practice
In a lecture about programming paradigms, one might use this quote to highlight the importance of abstraction in software development.
Progress is possible only if we train ourselves to think about programs without thinking of them as pieces of executable code.
Simplicity is prerequisite for reliability.
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.
The tools we use have a profound and devious influence on our thinking habits, and therefore on our thinking abilities.
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.
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.
It is hard to put aside partisanship. It is hard to give up the easy wisecracking jeer that divides and destroys. It is hard - very hard - to have worked sincerely and wholeheartedly for a cause and to have lost. Most of all, it is hard to put aside personal prejudices. And yet we must put these things aside.
If anyone tells you there is only one way, their way, get as far away from them as possible, both physically and philosophically.
Freedom is a state of mind, I said wondering where I'd heard it before, not a state of being. We are all slaves to gravity and morality and the vicissitudes of nature. Our genes govern us much more than we'd like to think. Our bodies can not know absolute freedom but our minds can, can at least try.
I say no body of men are fit to make Presidents, judges and generals, unless they themselves supply the best specimens of the same; and that supplying one or two such specimens illuminates the whole body for a thousand years.
Those who forget good and evil and seek only to know the facts are more likely to achieve good than those who view the world through the distorting medium of their own desires.
It is easy to live for others, everybody does. I call on you to live for yourself.
Subscribe for the occasional hand-picked quote. No noise.