Common Language Infrastructure
The Common Language Infrastructure ( CLI) is an ISO / IEC / ECMA standard that specifies systems that enable language-and platform-independent application development and execution. Instantaneous current is version 5 of the standards by December 2010.
The CLI is a specification, not an implementation. Her best-known implementation is. NET by Microsoft for Windows systems. However, there are CLI implementations for Unix / Linux systems, Mac OS X and BSD variants.
The development is largely determined by Microsoft. The Mono project has already filed a first amendment proposed for standardization. A Mono developer stated that he was curious to see if Microsoft will implement the new feature.
- 2000, August - Microsoft, Hewlett -Packard and Intel extend the specification of the CLI at the ECMA for standardization one.
- 2001 December - The standard is adopted as ECMA -335. IBM, Fujitsu Software, Plum Hall, Monash University and ISE were involved in the development.
- 2001 December - The CLI specification of ISO / IEC will be submitted for standardization.
- 2002 December - First revision of the standard to ECMA -335 2nd edition is adopted. The changes resulted in part from the ongoing ISO standardization process.
- 2003, April - The contents of ECMA -335 2nd edition is by ISO / IEC as ISO / IEC 23271 (CLI ) and ISO / IEC 23272 (CLI TR) ratified.
- 2005 June - ECMA -335 3rd edition is standardized by the ECMA. This standard brings, in addition to general improvements, especially support for generics and a standardized format for debugging information.
- 2006 June - ECMA -335 4th edition is being standardized by the ECMA.
- 2006 December - ECMA -335 5th edition is being standardized by the ECMA.
Content of the standard
The CLI Standard ECMA -335 3rd edition is divided into six parts, called partitions. These are:
- Partition I: Concepts and Architecture - Describes the overall architecture of the CLI. Specifies to the Common Type System (CTS ), the Virtual Execution System ( VES ) and the Common Language Specification (CLS ).
- Partition II: Metadata Definition and Semantics - Provides information about metadata: The physical layout of the files, the logical content and its structure.
- Partition III: CIL - Describes the instructions of the Common Intermediate Language (CIL ).
- Partition IV: Libraries - Provides a specification of classes and class libraries that are standardized as part of the CLI.
- Partition V: Describes common debugging format.
- Partition VI: Annexes.
The following companies and universities have contributed to the development of the standard: Borland, Fujitsu Software Corporation, Hewlett -Packard, Intel Corporation, IBM Corporation, ISE, IT University of Copenhagen, Jagger Software Ltd, Microsoft Corporation, Monash University, Netscape, Novell. / Ximian, Phone.Com, Plum Hall, Sun Microsystems, University of Canterbury (NZ)
Currently there are 4 practically complete implementations of the CLI standard ( in order of the estimated distribution ):
- Microsoft. NET ( implementation for Windows, which expands the standard to many other class libraries )
- Mono from Novell / Ximian ( implementation for various Unix / Linux systems, Mac OS X and Windows, open source)
- . NET Compact Framework from Microsoft ( implementation for Windows CE based on x86, MIPS, SH4 or ARM processors)
- Rotor from Microsoft ( implementation for BSD variants )