Definition

Common Language Infrastructure (CLI)

Part of Microsoft's .NET strategy, Common Language Infrastructure (CLI) enables an application program written in any of several commonly-used programming languages to be run on any operating system using a common runtime program rather than a language-specific one. Common Language Infrastructure provides a virtual execution environment comparable to the one provided by Sun Microsystems for Java programs. In both environments, CLI and Java use a compiler to process language statements (also known as source code) into a preliminary form of executable code called bytecode. Later, when a program is run, its bytecode is compiled on the fly into the native code required by the machine architecture of a given computer. Common Language Infrastructure has been accepted as an open standard by ECMA, an international organization for the promotion of technology standards. CLI is designed to make it easier to develop programs that can be used as Web services.

Common Language Infrastructure specifies:

  • A common language (the Common Language Specification - CLS)
  • A common set of data types that any language must support (the Common Type System - CTS)
  • An introduction to the component structure
  • How the machine state is managed
  • How exceptions are handled

Any programming language that conforms to CLI criteria can access a common class library and can be compiled into a common intermediate language (bytecode). Once compiled into the common intermediate language, any program can then be further compiled into the machine code understood by the specific system it is running on.

Within the Common Language Infrastructure, a component called the Common Type System (CTS) defines the programming types and operations supported by the .NET runtime engine. A subset of CTS, the Common Language Specification (CLS) determines whether an application is in compliance with specified criteria.

Common Language Infrastructure programs can be written in a variety of programming languages, including ASP+, C++, and C#. These are compiled into Microsoft's Common Intermediate Language (CIL), which the Common Language Runtime (CLR) then compiles into machine code for processing.

This was last updated in June 2007
Posted by: Margaret Rouse

Email Alerts

Register now to receive SearchSOA.com-related news, tips and more, delivered to your inbox.
By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy

More News and Tutorials

Do you have something to add to this definition? Let us know.

Send your comments to techterms@whatis.com

There are Comments. Add yours.

 
TIP: Want to include a code block in your comment? Use <pre> or <code> tags around the desired text. Ex: <code>insert code</code>

REGISTER or login:

Forgot Password?
By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy
Sort by: OldestNewest

Forgot Password?

No problem! Submit your e-mail address below. We'll send you an email containing your password.

Your password has been sent to: