Thomas Beale wrote: 
> >What about cross platform?  
> Two answers: the linux .net (if it exists) allows one flavour of 
> cross-platform; secondly, MSIL is designed to be compiled to binary, not 
> interpreted bytecode like Java, improving performance (presumably this 
> is MSs motive). So you have a back-end cross compiler on every platform 
> for MSIL.

Microsoft's current announcements say it will only be available for MS Win32
and the (upcoming?) Win64 for IA64 ("Itanium") platform. So,
"cross-platform" only in the sense that it might run on both 32- and 64- bit
Windows/Intel systems.

The "Linux" implementation (http://www.Ximian.Com I believe has links to the
info) is open source, so it should (when completed) be able to run on any
platform, on any CPU.

Realize, also, that the "Microsoft standard libraries" for .NET are
commercially licensed, so just having an MSIL interpreter will not
necessarily allow you to run MS .NET software. Some of those libraries have
hard-coded dependencies upon MS, e.g. their "Passport" service, so anyone
developing using those elements will likely be non-portable to non-MS
platforms. There was some discussion about whether to implement a
"competitive" or "cooperative" version of these services...

> >What about distributed services?  
> Don't know

> >Can .net work with multiple languages?  If so, how?

> I don't know all the mechanics, but it at least works with C#, VB, 
> Eiffel and COBOL (of all things). The approach seems to be to define a 
> kind of XXX-#, where XXX is some normal language. The sharp version has 
> to conform to the C# meta-model (no MI, no-variant redefinition, no 
> genericity, etc, type system etc), and then it is a case of generating 
> MSIL from such a compiler. You might say, then you are just programming 
> in C#. But I think the point is that the XXX-# variants have the same 
> syntax as their mother langauges, and can be used in the same 
> development environment.

Roughly: "MSIL" is really just a new binary platform, which happens to run
in an imaginary universe where opcodes exist for OOP, &c. So all that
theoretically is needed is a compiler suite for each language. The "export"
semantics for linking may need to be twiddled, depending upon the language.

I believe there's supposed to be a Perl compiler to C# as well...?





Reply via email to