Common Language Infrastructure

Common Language Infrastructure

The Common Language Infrastructure (CLI) is an open specification developed by Microsoft and standardized by ISO[1] and ECMA[2] that describes the executable code and runtime environment that form the core of the Microsoft .NET Framework and the free and open source implementations Mono and Portable.NET. The specification defines an environment that allows multiple high-level languages to be used on different computer platforms without being rewritten for specific architectures.

Contents

Overview

Visual overview of the Common Language Infrastructure (CLI)

Among other things, the CLI specification describes the following four aspects:-

The Common Type System (CTS) 
A set of data types and operations that are shared by all CTS-compliant programming languages.
Metadata
Information about program structure is language-agnostic, so that it can be referenced between languages and tools, making it easy to work with code written in a language you are not using.
Common Language Specification (CLS) 
A set of base rules to which any language targeting the CLI should conform in order to interoperate with other CLS-compliant languages. The CLS rules define a subset of the Common Type System.
Virtual Execution System (VES) 
The VES loads and executes CLI-compatible programs, using the metadata to combine separately generated pieces of code at runtime.

All compatible languages compile to Common Intermediate Language (CIL), which is an intermediate language that is abstracted from the platform hardware. When the code is executed, the platform-specific VES will compile the CIL to the machine language according to the specific hardware and operating system.

Standardization and licensing

In August 2000, Microsoft, Hewlett-Packard, Intel, and others worked to standardize CLI. By December 2001, it was ratified by the ECMA, with ISO standardization following in April 2003.

Microsoft and its partners hold patents for CLI. ECMA and ISO require that all patents essential to implementation be made available under "reasonable and non-discriminatory (RAND) terms", but interpretation[who?] of this has led to much controversy, particularly in the case of Mono[citation needed].

As of July 2009.[3] Microsoft applied C# and CLI under the Community Promise, so anyone can safely implement those standards without fearing a patent lawsuit.

Support for dynamic languages

The Common Language Infrastructure currently has no built-in support for Dynamically typed languages because the existing Common Intermediate Language is statically typed.[4]

The Dynamic Language Runtime is an ongoing effort to bring this support to the CLR.

Implementations

Notes

References


Wikimedia Foundation. 2010.

Игры ⚽ Нужно сделать НИР?

Look at other dictionaries:

  • Common Language Infrastructure — CLI (англ. Common Language Infrastructure) спецификация общеязыковой инфраструктуры. Наиболее известными реализациями этого стандарта являются Microsoft .NET Framework, Mono, DotGNU Portable.NET. Спецификация CLI определяет, в частности,… …   Википедия

  • Common Language Infrastructure — Pour les articles homonymes, voir CLI. Schéma explicatif du Common Language Infrastructure (CLI) La Common Language Infrastructure (CLI) est une …   Wikipédia en Français

  • Common Language Infrastructure — Die Common Language Infrastructure (CLI) ist ein ISO/IEC/ECMA Standard, der Systeme spezifiziert, die sprach und plattformneutrale Anwendungsentwicklung und ausführung ermöglichen. Momentan aktuell ist die Version 5 des Standards vom Dezember… …   Deutsch Wikipedia

  • Shared Source Common Language Infrastructure — The Shared Source Common Language Infrastructure (SSCLI), previously codenamed Rotor, is Microsoft s shared source implementation of the CLI, the core of .NET. Although the SSCLI is not suitable for commercial use due to its license, it does make …   Wikipedia

  • Shared Source Common Language Infrastructure — Die CLI (Common Language Infrastructure) ist ein ISO/IEC/ECMA Standard, der Systeme spezifiziert, die sprach und plattformneutrale Anwendungsentwicklung und ausführung ermöglichen. Momentan aktuell ist die Version 4 des Standards vom Juni 2006.… …   Deutsch Wikipedia

  • Common Language Runtime — El Common Language Runtime o CLR ( entorno en tiempo de ejecución de lenguaje común ) es un entorno de ejecución para los códigos de los programas que corren sobre la plataforma Microsoft .NET. El CLR es el encargado de compilar una forma de… …   Wikipedia Español

  • Common Language Runtime — (англ. CLR  общеязыковая исполняющая среда)  виртуальная машина, интерпретирующая и исполняющая код на языке CIL, в который компилируются программы, написанные, в частности, на .NET совместимых языках программирования (C#, Managed… …   Википедия

  • Common Language Runtime — NET Framework Basisdaten Entwickler: Microsoft Aktuelle Version …   Deutsch Wikipedia

  • Common Language Runtime — The CLR converts CIL to native code. The Common Language Runtime (CLR) is the virtual machine component of Microsoft s .NET framework and is responsible for managing the execution of .NET programs. In a process known as just in time (JIT)… …   Wikipedia

  • Common Language Specification — Die Common Language Specification (CLS) ist ein Teil des Common Language Infrastructure Standards, der die Entwicklung von programmiersprachenneutralen Programmkomponenten ermöglicht. Die CLS garantiert, dass jedes Programm bzw. jeder… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”