direction (Re: [Mono-list] Wheen someone asks about java...)

Kunle Odutola
Sun, 15 Jul 2001 10:50:23 +0100

> First, there is a lot of marketing hype surrounding
> C#/.NET. Microsoft claims that it "runs C++" and
> that its runtime is "common", and that it is
> intrinsically much more efficient. I find those
> claims dubious, but haven't made up my mind yet.
> There are some differences between the JVM and the
> CLR, but they are pretty localized.

There is a lot of hype about both the Java platform and the .NET/CLR
platforms ;-)
C++ does run on .NET (limited to single inheritance?) and the runtime is
common to all languages on the platform (that is what "common" means in
MS-speak). I am not sure about the claims for efficiency although IL
bytecode are optimised for compilation as opposed to interpretation.

> Second, Mono will not be able to deliver a
> C#/.NET implementation tomorrow. I
> think Mono would be lucky to deliver something
> that's merely limping along within a year: writing
> garbage collectors, compiling efficient method
> dispatch, and dealing with dynamic code generation
> is tricky. Look at some open source systems that
> do it: CMU CommonLisp, any of the free JVM JITs,
> SML/NJ, etc. That's the kind of system C#/CLR/.NET is.
> That's the kind of system people participating
> in Mono need to be able to understand top-to-bottom.


> Third, the best starting point for a C#/CLR/.NET
> implementation may be one of the Java compilers and
> runtimes. That's clearly how Microsoft developed
> C#/CLR.

MS bought OmniVM which was already "multi-lingual". Having access to Java IP
certainly made it possible to avoid the same mistakes and/or improve on how
things are done in Java. In any case MS's VM was the fastest JVM period.
Hopefully they have improved on that in .NET