C and C++ are different languages, blababla we know that.
But if those language are different, why is it still possible to use function like malloc or free ? I’m sure there are all sort of dusty things C++ has because of C, but since C++ is another language, why not remove those things to make it a little less bloat and more clean and clear ?
Is it because it allows programmers to work without the OO model or because some compilers doesn’t support high-level abstract features of C++ ?
About “Why there’s no “pure” C++ language… Well, there is at least one. The most popular one is called D, it’s great, well-designed, feature-rich, pleasant to code with, and you can use C libraries with it.
Ah, and almost nobody uses it. 🙂
The direct reason is that C++ is not bad enough to give people a good reason to port millions of lines of their legacy code to more modern, and as you described, “pure” languages like D.