The Common Language Infrastructure






Summary

This chapter described many new terms and acronyms that are important to understanding the context under which C# programs run. The preponderance of three-letter acronyms can be confusing. Figure provides a summary list of the terms and acronyms that are part of the CLI.

Common C#-Related Acronyms

Acronym

Definition

Description

.NET

None

Microsoft's implementation of the entire CLI stack. Includes the CLR, CIL, and various languages, all of which are CLS compliant.

BCL

Base Class Library

The portion of the CLI specification that defines the collection, threading, console, and other base classes necessary to build virtually all programs.

C#

None

A programming language. Note that separate from the CLI standard there is a C# Language Specification, also ratified by the ECMA and ISO standards bodies.

CIL (IL)

Common Intermediate Language

The language of the CLI specification that defines the instructions for the code executable on implementations of the CLI. This is sometimes also referred to as IL or Microsoft IL (MSIL) to distinguish it from other intermediate languages. (To indicate that it is a standard broader than Microsoft, CIL is preferred over MSIL and even IL.)

CLI

Common Language Infrastructure

The specification that defines the intermediate language, base classes, and behavioral characteristics which enable implementers to create Virtual Execution Systems and compilers in which source languages are interoperable on top of a common execution environment.

CLR

Common Language Runtime

Microsoft's implementation of the runtime, as defined in the CLI specification.

CLS

Common Language Specification

The portion of the CLI specification that defines the core subset of features which source languages must support in order to be executable on runtimes implemented according to the CLI specification.

CTS

Common Type System

A standard generally implanted by CLI-compliant languages that defines the representation and behavior of types that the language exposes visibly outside of a module. It includes concepts for how types can be combined to form new types.

FCL

.NET Framework Class Library

The class library that comprises Microsoft's .NET Framework. It includes Microsoft's implementation of the BCL as well as a large library of classes for such things as web development, distributed communication, database access, rich client user interface development, and a host of others.

VES (runtime)

Virtual Execution System

An agent that manages the execution of a program that is compiled for the CLI.




 Python   SQL   Java   php   Perl 
 game development   web development   internet   *nix   graphics   hardware 
 telecommunications   C++ 
 Flash   Active Directory   Windows