Quote:
That a subset of C is still part of C++ is not a fundamental weakness because you don't need to use it. Sure, you could argue that because it is there, other problems arise, such as the need for compatibility, making sure that new stuff works with the C subset, etc. However, even so, I do not consider it a fundamental weakness. Every language that evolves has some old, deprecated style, libraries, classes, etc. You need to make sure you don't break compatibility with such code, and you need to make sure new stuff works with old stuff because that's what compatibility is all about. If you don't have that problems, then your language is broken because software stays around for a long time. Rust may not have it yet, but it will. So if you, give some other example. I will not cede to that one you gave.
Having the entire C language contained within C++ is a fundamental weakness for other reasons than those you mention: