[Tutor] Iron Python and Visual Basic 2005 Express

Alan Gauld alan.gauld at btinternet.com
Thu Jan 31 00:03:06 CET 2008

"Dick Moores" <rdm at rcblue.com> wrote

>>But the whole idea of the intermediate code thing is
>>that you can intermix languages.
> Alan, could you explain what you mean by "the intermediate code 
> thing"?

.NET works like Java in that it doesn't compile into machine
language object code directly but uses a framework called
the Common Language Runtime(CLR)  and an underlying
foundation known as the Common Language Infrastructure (CLI)
which in turn includes the Common Type System (CTS) and the
Common Intermediate Language (CIL)  which all of the .NET family
of languages must support.

The CLR includes things like a common exception handling
framework, comon object model and of course the common
types (so an int looks the same in VB or C#) and intermediate
language that is interpreted by the .NET environment. Exactly like a
Java JIT compiler converts Java bytecode into machine code
prior to execution.compiled Java bytecode. This is all hidden
inside an exe file by providing a standard exe style header
which Windows can use to determine the type of exe and
for CLR files launch the .NET environment.

For more detail see the MS .NET web pages and other .NET sites.

I also recommend the O'Reilly ".NET Framework Essentials"
book for an overview of how it all fits together.

Alan Gauld
Author of the Learn to Program web site

More information about the Tutor mailing list