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.
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. Separate from the CLI standard 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. 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.) |
CLI |
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. |
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 that source languages must support to be executable on runtimes implemented according to the CLI specification. |
CTS |
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. |
FCL |
.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. |