February 04
The creator of Java don’t get the difference between managed and unmanaged code
Java creator and CTO of Sun’s Developer Products group, James Gosling, called Microsoft’s decision to support C and C++ in .NET one of the “biggest and most offensive mistakes that they could have made”. Further he said Microsoft “has left open a security hole large enough to drive many, many large trucks through".
Builder AU has an article about the speech. What Gosling is getting confused is that pure C and C++ is not supported by .NET, since pure C and C++ is unmanaged and .NET only supports managed code. What .NET supports however, are Microsoft’s managed extensions to the C++ language. Managed .NET code is as safe as any Java code, no matter if it’s written in C# or managed C++. I’m sure that Gosling actually knows this, its hard being a developer today and not knowing the basics of .NET and managed code so this seams to be another below the belt punch from Sun towards Microsoft.
I personally think that managed C++ is a good idea and by using it you can write more secure code. Most existing applications are still being developed in C/C++ and it would be to costly or difficult to just throw them away and rewrite them in a fully managed language, like C# or Java. Managed C++ allows us to develop new parts with .NET’s security model and still be able to use and interact with the old unmanaged parts.
The comments made by Gosling shows clearly he’s scared of .NET’s success but having problems coming up with any real convincing arguments not to use .NET.