There is no such thing as a free variable.
Some programming languages manage to absorb change, but withstand progress.
Fools ignore complexity. Pragmatists suffer it. Some can avoid it. Geniuses remove it.
The best book on programming for the layman is Alice in Wonderland, but that's because it's the best book on anything for the layman.
I think it is inevitable that people program poorly. Training will not substantially help matters. We have to learn to live with it.
A LISP programmer knows the value of everything, but the cost of nothing.