Chapter 24: Summary

This chapter described many new terms and acronyms that are important for understanding the context under which C# programs run. The preponderance of three-letter acronyms can be confusing, so Table 24.2 summarizes the terms and acronyms that are part of the CLI.

Table 24.2: Common C#-Related Acronyms






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


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.



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


Common Intermediate Language

The language of the CLI specification that defines the instructions for the code executable on implementations of the CLI. It 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.)


Common Language Infrastructure

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


Common Language Runtime

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


Common Language Specification

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


Common Type System

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


.NET Framework Class Library

The class library that makes up 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, and rich client user interface development, among others.

VES (runtime)

Virtual Execution System

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

{{ snackbarMessage }}