Amazon.com Widgets

What's the differnece between CIL and MSIL?

I was recently asked what the difference between CIL and MSIL is…   the short answer is not much.  They both describe the underlying CPU-independent instruction set the CLR executes after a high level language (C#, VB, C++, Python, Ruby, Pascal, etc) has compiled your source code.  The difference between them is the exact version you are referring to.

 

CIL -  Common Intermediate Language  - is the term used in the International Standard.  

MSIL -  Microsoft Intermediate Language   - is the product term for the Microsoft implementation of that standard.

 

Clear as mud?

Published 20 September 05 01:45 by BradA
Filed under:

Comments

# Judah said on September 20, 2005 8:25 PM:
So, are there functional differences? Does MSIL have instructions CIL doesn't, etc.?
# Ben Rush said on September 21, 2005 12:44 AM:
There are functional differences in the IL as defined by the CIL standard and what Microsoft currently uses (at least, best that I can tell). Takes generics for example; to quote Mr. Juval Lowy, "In .NET 2.0, generics have native support in IL (intermediate language) and the CLR itself." He goes on to describe the differences.

Source: An Introduction to C# Generics, http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnvs05/html/csharp_generics.asp.
New Comments to this post are disabled

Search

Go

This Blog

Syndication

Page view tracker