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
platform.  

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.

Miguel.



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