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.

Genesis

  • 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)

Known implementations

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 )
198842
de