As the program is being executed, the CIL code is
just-in-time compiled (and cached) to the machine code appropriate for the architecture on which the program is running. This step can be omitted manually by caching at an earlier stage using an
"ahead of time" compiler such as Microsoft's
ngen.exe and Mono's "-aot" option.
Notable CLI languages
Current languages
Ada for .Net: Ada is a multi-paradigm language, that is strongly focused on code safety, maintainability and correctness.[1]
C++/CLI: A version of
C++ including extensions for using Common Language Runtime (CLR) objects. Provides full support for
.NET Framework and library only support for
.NET Core. Produces mixed-mode code that produces native code for C++ objects. The compiler is provided by Microsoft.
ClojureCLR: A port of
Clojure to the CLI, part of the
Clojure project.[3]
Component Pascal: A CLI-compliant
Oberon dialect. It is a strongly typed language in the heritage of Pascal and Modula-2 but with powerful object-oriented extensions.
Eiffel: Purely object-oriented language, focused on software quality, includes integrated
design by contract and multiple inheritance. CLI compliant.
Small Basic: A BASIC-derived programming language created by Microsoft for teaching programming. Supported releases target
.NET Framework versions 3.5 and 4.5.
PowerShell: An object-oriented
command-lineshell. PowerShell can dynamically load .NET assemblies that were written in any CLI language. PowerShell itself uses a unique scripting syntax and uses curly-braces, similar to other C-based languages.
XSharp: X# is an open source development language for Microsoft .NET, based on the xBase language. It comes in different flavours, such as Core, Visual Objects, Vulcan.NET, xBase++, Harbour, Foxpro and more.
IronRuby: An open-source CLI implementation of
Ruby, built on the Dynamic Language Runtime (DLR).
J#: A CLI-compliant implementation of
Java. The compiler is provided by Microsoft. J# has been discontinued. The last version shipped with Visual Studio 2005, and was supported until 2015.
As the program is being executed, the CIL code is
just-in-time compiled (and cached) to the machine code appropriate for the architecture on which the program is running. This step can be omitted manually by caching at an earlier stage using an
"ahead of time" compiler such as Microsoft's
ngen.exe and Mono's "-aot" option.
Notable CLI languages
Current languages
Ada for .Net: Ada is a multi-paradigm language, that is strongly focused on code safety, maintainability and correctness.[1]
C++/CLI: A version of
C++ including extensions for using Common Language Runtime (CLR) objects. Provides full support for
.NET Framework and library only support for
.NET Core. Produces mixed-mode code that produces native code for C++ objects. The compiler is provided by Microsoft.
ClojureCLR: A port of
Clojure to the CLI, part of the
Clojure project.[3]
Component Pascal: A CLI-compliant
Oberon dialect. It is a strongly typed language in the heritage of Pascal and Modula-2 but with powerful object-oriented extensions.
Eiffel: Purely object-oriented language, focused on software quality, includes integrated
design by contract and multiple inheritance. CLI compliant.
Small Basic: A BASIC-derived programming language created by Microsoft for teaching programming. Supported releases target
.NET Framework versions 3.5 and 4.5.
PowerShell: An object-oriented
command-lineshell. PowerShell can dynamically load .NET assemblies that were written in any CLI language. PowerShell itself uses a unique scripting syntax and uses curly-braces, similar to other C-based languages.
XSharp: X# is an open source development language for Microsoft .NET, based on the xBase language. It comes in different flavours, such as Core, Visual Objects, Vulcan.NET, xBase++, Harbour, Foxpro and more.
IronRuby: An open-source CLI implementation of
Ruby, built on the Dynamic Language Runtime (DLR).
J#: A CLI-compliant implementation of
Java. The compiler is provided by Microsoft. J# has been discontinued. The last version shipped with Visual Studio 2005, and was supported until 2015.