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.
I believe 3D is inevitable because it's about aligning our entertainment systems to our sensory system. We all have two eyes; we all see the world in 3D. And it's natural for us to want our entertainment in 3D as well. It's just getting the technology - it's really more the business model than the technology piece. We've solved the technology.
We wanted flying cars, instead we got 140 characters.
The factory of the future will have only two employees, a man and a dog. The man will be there to feed the dog. The dog will be there to keep the man from touching the equipment.
The whole notion of passwords is based on an oxymoron. The idea is to have a random string that is easy to remember. Unfortunately, if it's easy to remember, it's something nonrandom like 'Susan.' And if it's random, like 'r7U2*Qnp,' then it's not easy to remember.
I see the player piano as the grandfather of the computer, the ancestor of the entire nightmare we live in, the birth of the binary world where there is no option other than yes or no and where there is no refuge.
Most of the good programmers do programming not because they expect to get paid or get adulation by the public, but because it is fun to program.
Subscribe for the occasional hand-picked quote. No noise.