RE: Gosling on unsafe code
.Net has code access security which relies on policies, much like Java does. The .Net CLI looks at code as two broad categories: verifiable (VB.NET and C#) and non-verifiable (C, C++). It is well understood that C++ language features like reinterpret_cast are not type safe. Maybe for this reason the ability to load non-verifiable code is itself a policy that must be explicitly granted to code via policy.
I agree with Cedric. C'mon, if you love Java there's no reason to slander .Net to prove it.