I think it is inevitable that people program poorly. Training will not substantially help matters. We have to learn to live with it.
There are two ways to write error-free programs; only the third works.
A good programming language is a conceptual universe for thinking about programming.
It goes against the grain of modern education to teach students to program. What fun is there to making plans, acquiring discipline, organizing thoughts, devoting attention to detail, and learning to be self critical.
To understand a program, you must become both the computer and the program.
You think you KNOW when you learn, are more sure when you can write, even more when you can teach, but certain when you can program.
Syntactic sugar causes cancer of the semicolon.
One man's constant is another man's variable.
In programming, everything we do is a special case of something more general - and often we know it too quickly.
It is easier to change the specification to fit the program than vice versa.
Within a computer natural language is unnatural.
A language that doesn't affect the way you think about programming, is not worth knowing.
Everyone can be taught to sculpt: Michelangelo would have had to be taught how not to. So it is with the great programmers.
Dealing with failure is easy: Work hard to improve. Success is also easy to handle: You've solved the wrong problem. Work hard to improve.
A language that doesn’t affect the way you think about
programming, is not worth knowing.
[Epigrams on Programming, 1982]
Don't have good ideas if you aren't willing to be responsible for them.
Fools ignore complexity. Pragmatists suffer it. Some can avoid it. Geniuses remove it.
Every program has two purposes: The one for which it was written and another for which it wasn't.
A programming language is low level when its programs require attention to the irrelevant.