> Nor does it have any concern for the elegance of its design.
It has a lot of inelegant facilities, which, when used under the hood, allow you to express your elegant abstractions.
> Hence the common practice of using a small subset C++ and pretending it's just C with Extras.
That's mostly failure to use C++. Since C++11, and especially with later updates to the standard, idiomatic C++ is very different from C - even if you're not using a lot of the standard library. I'll link to a talk already linked-to in another comment in this discussion:
Isn't this the no true Scotsman fallacy? It looks like you're agreeing with the parent poster that a lot of people use a small subset of C++ to pretend that it's C with extras. If this is true, it's not a failure of all these people because they don't _really_ understand C++. It's a failure of the language designers because they have made something that nobody can agree on how to use.
How is it a failure when people just find idiomatic C++ undesirable, exactly because it's very different from C.
Basically, the best C++ feature by a very long mile is that it can in fact be used as an extension of C. That's what made it popular in the first place and that's still "what people want".
If it's a failure, then it's that of the C++ committee evolving the language in an echo chamber.
C is light and simple, but don't use it much, because it can get too verbose.
C++ allows for succinct code, but it's neither light or simple. Nor does it have any concern for the elegance of its design.
Hence the common practice of using a small subset C++ and pretending it's just C with Extras.