Progress is possible only if we train ourselves to think about programs without thinking of them as pieces of executable code.
Edsger DijkstraRead
Program testing can be used to show the presence of bugs, but never to show their absence!
Interpretation
Testing can identify existing bugs in software, but it cannot guarantee that there are no bugs left.
In this quote, Edsger Dijkstra highlights a fundamental principle of software testing: while testing can demonstrate that bugs exist in a program, it cannot prove that a program is entirely free of defects. This reflects the inherent limitations of testing in the complex nature of software systems, where it is possible for undetected bugs to persist even after rigorous testing efforts.
In practice
During a software development meeting to emphasize the importance of thorough testing to the team.
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.
The purpose of abstraction is not to be vague, but to create a new semantic level in which one can be absolutely precise.
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.
It is unworthy of excellent men to lose hours like slaves in the labor of calculation which could be relegated to anyone else if machines were used.
Most of the value of deep learning today is in narrow domains where you can get a lot of data. Here's one example of something it cannot do: have a meaningful conversation.
The problem with the Internet is that it gives you everything - reliable material and crazy material. So the problem becomes, how do you discriminate?
Young people do not watch television; they are on the Internet.
The EU can lead the world toward more humane technology. But doing so requires thinking more broadly about reining in social media platforms to prevent them from degrading our democracies.
The minimum we should hope for with any display technology is that it should do no harm.
Subscribe for the occasional hand-picked quote. No noise.