Microsoft .NET: Jumpstart for Systems Administrators and Developers

3.9 Introducing the CLR

3.9 Introducing the CLR

Simply put, the CLR is a high-performance program execution engine. Any code that is designed or targeted to run within the CLR is called managed code and as such benefits from a number of built-in services that make the developer s life a bit easier. During the development phase, the CLR automates a number of tasks and prevents the developer from worrying about such things as cross-language exception handling, dynamic binding, and reflection (Reflection is the process by which a program can read its own metadata). During the execution phase the CLR manages, among others, application memory, garbage collection, security enforcement, and thread management.

Microsoft provides a core set of languages that target the CLR, and developers can decide to use one of these or a third-party language/compiler such as COBOL or Eiffel. In fact, the designers of the CLR decided to target up to 20 languages outside of the Microsoft fold, making the CLR a pretty versatile multilanguage engine.

By using a specific language compiler, you are agreeing to use the prescribed syntax that comes with that language. In addition, your chosen compiler determines which runtime features are available. To allow component reuse across languages and compilers, any exported types must adhere to language features included in the CLS.

During compilation, the source code is translated into a CPU- independent set of instructions called the Microsoft Intermediate Language, or MSIL. This in turn can easily be converted into native code. Typically the MSIL will contain a...

UNLIMITED FREE
ACCESS
TO THE WORLD'S BEST IDEAS

SUBMIT
Already a GlobalSpec user? Log in.

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.

Customize Your GlobalSpec Experience

Category: Programming Languages
Finish!
Privacy Policy

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.