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.
The Declaration of Independence . . . [is the] declaratory charter of our rights, and the rights of man.
Our deeds disguise us. People need endless time to try on their deeds, until each knows the proper deeds for him to do. But every day, every hour, rushes by. There is no time.
We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil. Yet we should not pass up our opportunities in that critical 3%
Civilization has little to fear from educated people and brain-workers. In them the replacement of religious motives for civilized behaviors by other, secular motives, would proceed unobtrusively. . . .
I would say that normally it is the creative minorities that determine the future, and in this sense, the Catholic Church must understand itself as a creative minority that has a heritage of values that are not things of the past, but a very living and relevant reality.
It is the destiny of the weak to be devoured by the strong.
Subscribe for the occasional hand-picked quote. No noise.