Computer science is no more about computers than astronomy is about telescopes.
Teaching to unsuspecting youngsters the effective use of formal methods is one of the joys of life because it is so extremely rewarding.
Simplicity is prerequisite for reliability.
Programming is one of the most difficult branches of applied mathematics; the poorer mathematicians had better remain pure mathematicians.
Mathematicians are like managers - they want improvement without change.
APL is a mistake, carried through to perfection. It is the language of the future for the programming techniques of the past: it creates a new generation of coding bums.
The competent programmer is fully aware of the limited size of his own skull. He therefore approaches his task with full humility, and avoids clever tricks like the plague.
Don't compete with me: firstly, I have more experience, and secondly, I have chosen the weapons.
Elegance is not a dispensable luxury but a factor that decides between success and failure.
The lurking suspicion that something could be simplified is the world's richest source of rewarding challenges.
I mentioned the non-competitive spirit explicitly, because these days, excellence is a fashionable concept. But excellence is a competitive notion, and that is not what we are heading for: we are heading for perfection.
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.
Program testing can be used to show the presence of bugs, but never to show their absence!
It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration.
Many mathematicians derive part of their self-esteem by feeling themselves the proud heirs of a long tradition of rational thinking; I am afraid they idealize their cultural ancestors.