Common Language Infrastructure
|
A common language infrastructure (CLI) is used in Microsoft .NET as the basis for running programs written in different programming languages. Before this, each language required its own runtime module for the compiled programs to run - Visual Basic required VBVM, Visual C++ versions prior to Visual C++.NET needed MSVCRT DLL. The common language infrastructure is an effort to unify the different runtime modules needed.
The CLI uses a class library and virtual machine, the Common Language Runtime (CLR) - note CLR is an official Microsoft term, and a number of books have been written on it. Many compilers are in development to produce code for this virtual machine. The code the virtual machine uses is expressed in a Common Intermediate Language (CIL), also known as Microsoft Intermediate Language (MSIL), a CPU-independent set of instructions that can be efficiently converted to native code. CIL can be thought of as a high level assembly language.
CIL is intended as a competitor for the Java bytecode, and the CLI/CLR as a competitor for the Java Runtime Environment (JRE).
For a list of languages which have compilers producing code for CLI, see Category:.NET programming languages.
External links
- Standard ECMA-335 Common Language Infrastructure (http://www.ecma-international.org/publications/standards/Ecma-335.htm)
- tutorial including MSIL by Aleksey Nudelman (http://csharpcomputing.com/Tutorials/TOC.htm)
- CLR X JRE (http://www.codeproject.com/dotnet/clr.asp)hu:Common Language Infrastructure