Consequently, a general-purpose programming language should support a variety of ways of thinking and a variety of programming styles.
Tom [Cargil]s suggestion with a further idea: Propsers of new [C++] features should be required to donate a kidney. That would - Jim [Waldo] pointed out - make people think hard before proposing, and even people without any sense would propose at most two extensions.
I do not think that safety should be bought at the cost of complicating the expression of good solutions to real-life problems.
Some software is actually pretty good, by any standard. Think of the Mars Rovers, Google, and the Human Genome Project. Now, that's quality software!
Always think about how a piece of code should be used: good interfaces are the essence of good code. You can hide all kinds of clever and dirty code behind a good interface if you really need such code.
The connection between the language in which we think/program and the problems and solutions we can imagine is very close. For this reason restricting language features with the intent of eliminating programmer errors is at best dangerous.
If you think it's simple, then you have misunderstood the problem.