What Is the Common Language Runtime?
The first misnomer to point out is that code compiled for .NET is not interpreted as it is with Java and the Java Virtual Machine. (Java code using the latest version of J2SE or J2EE can now, in fact, be JIT-compiled.) Rather, all compilers for .NET emit special code known as Intermediate Language or IL. The Common Language Runtime performs just-in-time compilation to native code as needed. This allows for increased code performance and the ability to verify the managed code. Figure 2.1 depicts a visual representation of layers that make up the Common Language Runtime.
Figure 2.1. Layers of the Common Language Runtime.
The Common Language Runtime provides several benefits over traditional unmanaged code. ...