Microsoft is also 90% responsible of this situation with DotNET.
For example, let see the word "Unmanaged" code, is not that funny?
In my case i would say: i manage "MYSELF" 100% of my code, because I AM the programmer!
Or speaking of UNSAFE code...
Bad programmers have always been unsafe, trying to hide them what is going on under the hood, doesn't make them SAFE programmers.
And learning how to use pointers is the core meat of good programming when using the "flat" API.
History teach us, that keeping the mass in the ignorance has always been used to protect privileges

...