Part of MS's push for the .NET framework includes
the C# language and a thing called 'common intermediate language', or
CIL.

CIL, together with some other acronyms such as CTS (common
type system) form a thing called 'common language infrastructure',
naturally CLS.

So what is it in plain words, and does it matter?

I'm not properly qualified to describe the whole thing, but
I only recently found out the specs are available for downloading
from http://developer.intel.com/software/idap/ecma/index.htm

(This is MS's submission to ECMA).

It seems to be a compiler backend language (think RTL of
gcc), with a lot of special information to assist things
like dynamic linking, type safety, verifiability, reflection.
Sort of a superset of Java Virtual Machines, with the ability
to turn off verification to do C and C++ stuff. The JVM is
pretty well useless for anything but Java, but this has support
for things from most languages.

Does it matter? 

Some of the ideas look very good. For example, tail recursion
is supported. Other stuff looks like a bit of a mish-mash :
windows specific stuff. Some stuff is not specified at all
well (base class libraries - things that allow you to do
input - output for example)

If there was an open source version of an MSIL interpreter / JIT
would this assist Linux?

It might. ActiveState is doing an MSIL based Perl and Python,
and various research groups, Mercury and other functional languages,
have been funded to port to MSIL.

Maybe a little embracing and extending from the Free Software
World wouldn't go astray. Just as Samba has proved a boon
for interoperatability, perhaps the ability to run MSIL code
on Linux might be a good thing.

One problem I have is that I can't see an overwhelming need
for this. Why do I want or care about this as a user? It may
be good technology, but does it matter? 

I'll keep an eye on things and report back when things are
clearer.

Jamie



-- 
SLUG - Sydney Linux User Group Mailing List - http://slug.org.au/
More Info: http://slug.org.au/lists/listinfo/slug

Reply via email to