While the tools have improved greatly, we can still do better.There are plenty of alternatives in C++ (and C) to avoid the existence of dangling pointers, let alone dereferencing them.
Now you're just being intentionally vague - which advantages are there to manually managing memory at runtime?In any event, not all forms of useful memory management can be effectively achieved at compile time - memory management, realistically, has aspects both at compile time and run time, with different advantages for different tasks.
Nonsense, type safety is the extent to which a programming language discourages or prevents type errors. More type safety is always an improvement. Again, this is contingent on the fact that you place any value on program-correctness.There is plenty of debate about the advantages and disadvantages of type safety - and not just limited to C/C++. It is certainly possible to identify disadvantages of the C/C++ type system, but it is not a slam-dunk that stronger levels of type safety is desirable.
As are you.You're demonstrating your traits in your post
While i didn't ask you, i kind of had a feeling you would bite when i wrote that, so in a way i _did_ ask you. Let me rephrase it then.
The presence of C discourages new C++ programmers from not writing C.
I'm not going to enter a debate about the merits of OOP.