Re: GNOME, .Net and Mono

> A very legitimate reason not to want to use .NET is it being based on a
> new, largely untried VM - if the goal really was to go with a VM, then
> there are much older, tried and quite probbaly in the mid-term, better VMs
> around than Mono. And this isn't a plug for java - its use of a VM is
> nothing new.

There are a few bits in the .NET VM (from here on referred as the CLI)
that make it intereting:

	* Support for ValueTypes (a value type is a struct, or any kind
	  of contiguous memory).  Required for supporting languages like
	  C and C++ who use structs and allocate arrays of structs.

	* Pointer support.  This is required to implement languages like
	  C, C++, Fortran, Cobol and Pascal.

	* Tail calls.  Required to implement efficiently things like
	  Lisp and Haskell.

There was a lot of feedback from language vendors to Microsoft on
features that were needed to implement their compilers to target this

Now, on the other hand, they have a few useful bits on the virtual
machine that simplify the task of writing a JIT engine.  For instance,
local variable slots are allocated to a single type, and only that type
for the entire execution of the method, contrasted with Java reuse of
the slots.  This is useful, because it saves time at JIT time.


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]