CLI and .NET Language List
CLI (Common Language Infrastructure) is a code execution environment defined by an open standard specification, ECMA-335 and ISO / IEC 23271.
It was developed by Microsoft and implemented as part of .NET and the Mono and Portable.NET compatible frameworks.
Not to be confused with the CLI of "command-line", for which you have a set of tools on GitHub, dotnet/cli. With these tools you are able to create command line applications, in bytecode or binary executable. Here we describe the general infrastructure of .NET.
The source code in compatible programming languages are compiled into CIL (Common Intermediate Language), a language independent of the machine and the processor, which is executed by virtual execution system (VES) of the own framework of the machine (.NET etc.).
For a language can be worn on the CLI, it must comply with two specifications:
- CTS (Common Type System). A set of types and operation on types.
- CLS (Common Language Specification). A set of rules allowing different languages to use the same libraries.
Note however that dynamic languages, without expressed data type, could be executed through the addition of a complementary runtime, the DLR (Dynamic Language Runtime).
List of major .NET languages
Most popular languages have a .NET version, but the most widely used is C#, a version of C++ designed specifically for this platform.
Java being a competitor to .NET is not implemented by the owner.
- A#. Ada.
- C Sharp in Visual Studio Express.
- C++/CLI in Visual Studio Express.
- Dyalog APL. APL.
- DotLisp. Lisp.
- FTN95. Fortran.
- Hugs98 for .NET. Haskell.
- ICC. By Princeton. Retargetable compiler for C in Portable.NET.
- IronPython by Microsoft. Python.
- IronRuby by Microsoft. Ruby.
- IronScheme. Scheme.
- MrLoose.Forth. Forth.
- NetCOBOL by Fujitsu. Wildcat COBOL.
- Visual J# de Microsoft dans Visual Studio Express. Java.
- Mercury. Mercury port for .NET.
- Oberon. For the history of languages.
- CAML.NET. CAML.
- Oxygen. Pascal.
- Phalanger. PHP4Mono. PHP.
- P#. Prolog.
- Sml.net by Cambridge. Standard ML.
- Visual APL. APL.
- Visual Basic. Included in Visual Studio Express.