I personally consider C or C++ written with the best-of-breed static analysis deployed on it, preferably from day one, to essentially be a different language. Most of the criticisms of C or C++ are eliminated under this setup. You get different ones; the resulting language is even more complex than the base languages, and requires an even deeper understanding of what's going on, but at least you have the requisite support to learn it, so in the end it's probably a net positive even in terms of the ability to learn it.
This is, obviously, a very opinionated opinion.
If I was going to be forced to do it, this is how I'd want to do it.
This is, obviously, a very opinionated opinion.
If I was going to be forced to do it, this is how I'd want to do it.