I think it is inevitable that people program poorly. Training will not substantially help matters. We have to learn to live with it.
In English every word can be verbed.
To understand a program, you must become both the machine and the program.
If you have a procedure with 10 parameters, you probably missed some.
A programming language is low level when its programs require attention to the irrelevant.
When someone says, "I want a programming language in which I need only say what I want done," give him a lollipop.