It is better to have 100 functions operate on one data structure than to have 10 functions operate on 10 data structures.
A good programming language is a conceptual universe for thinking about programming.
In software systems it is often the early bird that makes the worm.
In man-machine symbiosis, it is man who must adjust: The machines can't.
If you have a procedure with 10 parameters, you probably missed some.
I think it is inevitable that people program poorly. Training will not substantially help matters. We have to learn to live with it.