kids encyclopedia robot

Common Language Infrastructure facts for kids

Kids Encyclopedia Facts
Quick facts for kids
Common Language Infrastructure
ISO/IEC 23271:2012(E)
Abbreviation CLI
Status Published
Year started 2000; 25 years ago (2000)
First published 2001; 24 years ago (2001) (Ecma) and 2003; 22 years ago (2003) (ISO/IEC)
Latest version Sixth edition
June 2012; 13 years ago (2012-06)
Organization Developed by: Microsoft, Hewlett-Packard, Intel, and others
Standardized by: Ecma, ISO/IEC
Committee ISO/IEC JTC 1/SC 22
Domain Common Language (Cross-platform)
License RAND
Website ,

The Common Language Infrastructure (CLI) is like a special set of rules for computer programs. It's an open specification and technical standard that helps different computer languages work together. Microsoft first created it, and then groups like ISO/IEC and Ecma International made it an official standard.

CLI helps programs run on many different computer platforms. This means you don't have to rewrite the code for each type of computer. It's "platform agnostic," which means it doesn't care what kind of computer it's running on. Programs like .NET Framework, .NET, and Mono are built using the CLI rules. The information format from CLI is also used to describe how programs can connect with the Windows Runtime.

How the Common Language Infrastructure Works

Overview of the Common Language Infrastructure 2015
Visual overview of the Common Language Infrastructure (CLI)

The CLI rules explain five main parts that help computer programs run smoothly:

Common Type System (CTS)

The CTS is a collection of data types and actions that all CLI-friendly programming languages can use. It's like a shared dictionary for different languages.

Metadata

Metadata is information about how a program is built. This information is independent of any specific language. It helps different programming languages and tools understand each other's code. This makes it easier for developers to work with code written by others.

Common Language Specification (CLS)

The CLS is a smaller set of rules from the CTS. These rules ensure that different parts of a program, made with various languages, can work together. They apply to:

  • Consumers: Developers who use parts of a program.
  • Frameworks: Developers who create libraries of code.
  • Extenders: Developers who make tools like compilers.

Virtual Execution System (VES)

The VES is the part that loads and runs CLI programs. It uses the metadata to put different pieces of code together when the program starts. All compatible languages are first turned into something called Common Intermediate Language (CIL). CIL is a special code that isn't tied to any specific computer hardware. When the program runs, the VES on that computer translates the CIL into the machine language the computer understands. In the original CLI standard, the VES is handled by the Common Language Runtime (CLR).

Standard Libraries

These are collections of ready-to-use code that provide common functions. For example, they help programs read and write files. The most important part of these libraries is the Base Class Library (BCL).

Becoming a Standard and Licensing

In August 2000, companies like Microsoft, Hewlett-Packard, and Intel worked to make CLI an official standard. By December 2001, Ecma approved it. Then, ISO/IEC also approved it in April 2003.

Microsoft and its partners own patents related to CLI. However, Ecma and ISO/IEC require that these patents be available under "reasonable and non-discriminatory (RAND) terms." This often means a small fee might be needed to use the patented technology.

In 2009, Microsoft added C# and CLI to its Microsoft Community Promise. This means that anyone can use and build programs based on these standards without worrying about a patent lawsuit from Microsoft. To use the CLI standard, you need to follow certain rules. The basic set of rules is called the "kernel profile." You can add new features, but you can't change how existing parts of the standard work.

In 2012, Ecma and ISO/IEC released a newer version of the CLI standard.

Different Ways to Use CLI

Many different programs and systems use the CLI rules:

  • .NET Framework is Microsoft's original version of CLI for Windows computers. It was replaced by .NET in 2020.
  • .NET, also known as .NET Core, is a free and open-source version. It works on many different types of computers and is the newer version of .NET Framework.
  • .NET Compact Framework was Microsoft's version of CLI for smaller devices and the Xbox 360.
  • .NET Micro Framework is an open-source version of CLI for very small devices with limited power.
  • Mono is another open-source version of CLI. It's often used for making mobile apps and games.

See also

Kids robot.svg In Spanish: Infraestructura de lenguaje común para niños

  • Standard Libraries (CLI)
  • List of CLI languages
  • .NET Standard
kids search engine
Common Language Infrastructure Facts for Kids. Kiddle Encyclopedia.