What’s the CLI?

Print anything with Printful



The Common Language Infrastructure (CLI) promotes programming language interoperability and allows for platform-independent applications. It uses a common type system and compiles languages into a common intermediate language. CLI-compliant languages must adhere to Common Language Specifications and only expose features they have in common with other CLI-compliant languages. CLI is used for deployment programs, computer vision enhancement programs, and low-level virtual machine toolkits.

The Common Language Infrastructure (CLI) is a set of international technical standards that promote computer programming language interoperability. The CLI also allows many high-level languages ​​to develop platform- and architecture-independent applications. There are more than 30 programming languages ​​grouped together for this purpose and using four divisions of the common language programming specification to become CLI compliant.

Using what is called a common type system (CTS), using a set of data types and operations and metadata information about programming structures allows for writing code in multiple languages. The CLI compiles languages ​​into a common intermediate language (CIL) and from CIL communicates aspects of the application to assembly machine language, which addresses the hardware. Additionally, there are Common Language Specifications (CLS), which are a basic set of rules for use by any language seeking interoperability, and a Virtual Execution System (VES) for loading, executing and generation of execution codes for all CLI compliant programs.

Most CLI-compliant languages ​​are compiled directly into CIL via the common language runtime (CLR). After being compiled and cached, a just-in-time compiler appropriates machine code from the existing architecture. Building assembly machine code can also be built before the CLR with an early compiler.

In order for CLI-compliant languages ​​to take advantage of the specificity of objects, the common language infrastructure specifies that objects should only expose features they have in common with other CLI-compliant languages ​​when called. Code components developed to use only data types accepted in the CTS are said to be CLI-compliant and accessible to all other CLI-compliant languages. Furthermore, any construct of a language that cannot be checked quickly by the type safety of the code is excluded from CLS, so that only verifiable code can be said to conform to CLS.

Some programming features are common to both compilers and developers, and others are available only to compilers. The list is long and full of useful features. One feature available only to compilers is: keywords that provide reference identifiers and can override virtual methods with names that are keywords. One feature that is available to both compilers and developers includes: editing features that say a property and its evaluators must all be “static”, they must all be “virtual”, they must all be “instance”.

Deployment programs are for desktops, servers, mobile devices, and game consoles. Computer vision enhancement programs and low-level virtual machine toolkits are also developed from languages ​​compatible with the common language framework. Common language infrastructure runtimes allocate system resources and call peripheral devices efficiently, although they are platform independent.




Protect your devices with Threat Protection by NordVPN


Skip to content