> The core of most arguments against C++ boil down to those two points too.
No, the core arguments against C++ boil down to it not providing enough value for these costs, and that its complexities are not orthogonal and interact sub-optimally with one another so the complexities compound superlinearly.
The basic problem with C++ is that it has hiding without memory safety.
C has neither hiding nor memory safety. Most newer languages have both. C++ stands alone as a widely used language with high level unsafe abstractions. This is the source of most buffer overflow security advisories.
The usual euphemism is "abstraction". It's doing something inside, it's hard to see what that is, and it has constraints on its use which are relevant to memory safety but are not enforced by the language.
Which completely misses how people use C++ as a systems programming language. For the most part those users treat it like a better C, only reaching for C++ features when its an overwhelming advantage over C and generally banning significant parts of the language.
No, the core arguments against C++ boil down to it not providing enough value for these costs, and that its complexities are not orthogonal and interact sub-optimally with one another so the complexities compound superlinearly.