Jump to content

List of CLI languages

From Wikipedia, the free encyclopedia

CLI languagesare computer programming languages that are used to produce libraries and programs that conform to theCommon Language Infrastructure(CLI) specifications. With some notable exceptions, most CLI languages compile entirely to theCommon Intermediate Language(CIL), an intermediate language that can be executed using theCommon Language Runtime,implemented by.NET Framework,.NET Core,andMono.Some of these languages also require theDynamic Language Runtime(DLR).

As the program is being executed, the CIL code isjust-in-timecompiled (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" compilersuch as Microsoft'sngen.exeand Mono's "-aot" option.

Notable CLI languages[edit]

Current languages[edit]

Ada for.Net
Ada is a multi-paradigm language, that is strongly focused on code safety, maintainability and correctness.[1]
Boo
Astatically typedCLI language, inspired byPython.
C#
Most widely used CLI language,[2]bearing strong similarities toJava,and some similarity toObject Pascal(Delphi) andC++.Implementations provided by.NET Framework,.NET Core,andMono.
C++/CLI
A version ofC++including extensions for using Common Language Runtime (CLR) objects. Provides full support for.NET Frameworkand 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 ofClojureto the CLI, part of theClojureproject.[3]
Component Pascal
A CLI-compliantOberondialect. 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 integrateddesign by contractand multiple inheritance. CLI compliant.
F#
Amulti-paradigm CLI languagesupportingfunctional programmingandimperativeobject-oriented programmingdisciplines. Variant ofMLand is largely compatible withOCaml.Implementations provided by.NET Framework,.NET Core,andMono.
F*
A dependently typed language based on F#.
Go
via theRemObjectsGoldcompiler & multi-platform targeting.
IronPython
An open-source CLI implementation ofPython,built on the Dynamic Language Runtime (DLR).
IronScheme
AR6RS-compliantSchemeimplementation built on the DLR
Java
via theRemObjectsIodinecompiler & multi-platform targeting.
Oxygene
AnObject Pascal-based CLI language.
PascalABC.NET
AnObject Pascal-based language implemented on the.NET Framework.
PeachPie
A compiler of PHP to.NET and.NET Core. Successor of Phalanger.
PowerBuilder
Can target CLI since version 11.1.
RemObjects Mercury
AVisual Basic.Net-based CLI language.
Small Basic
A BASIC-derived programming language created by Microsoft for teaching programming. Supported releases target.NET Frameworkversions 3.5 and 4.5.
Silverfrost FTN95
An implementation ofFortran95.
Swift
via theRemObjectsSilvercompiler & multi-platform targeting.
Synergy DBL.NET
An object oriented CLI compliant implementation of DBL andDIBOLproduced by Synergex.[4]
Team Developer
SQLWindows Application Language (SAL) since Team Developer 6.0.
Visual Basic.NET
A redesigned dialect ofClassic Visual Basic.Implementations provided by.NET Framework,.NET Core,andMono.
Visual COBOL
An enhanced version ofCOBOLported to the.NET Frameworkand to the JVM, produced byMicro Focus.[5]
PowerShell
An object-orientedcommand-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.


Abandoned or deprecated languages[edit]

A#
CLI implementation ofAda.
Axum
Anactor modelconcurrentprogramming language.
Cobra
A CLI language withstatic and dynamic typing,design by contractand built-inunit testing.
Fantom
A language compiling to.NET(no longer under active development) and to theJVM
GrGen.NET
A CLI language forgraph rewriting
IronRuby
An open-source CLI implementation ofRuby,built on the Dynamic Language Runtime (DLR).
J#
A CLI-compliant implementation ofJava.The compiler is provided by Microsoft. J# has been discontinued. The last version shipped with Visual Studio 2005, and was supported until 2015.
JScript.NET
A CLI implementation ofECMAScriptversion 3, compatible withJScript.Contains extensions forstatic typing.Deprecated in favor ofManaged JScript.
Managed JScript
A CLI implementation ofJScriptbuilt on the Dynamic Language Runtime (DLR). Conforms toECMAScriptversion 3.
Managed Extensions for C++
A version ofC++targeting the Common Language Runtime (CLR). Deprecated in favor ofC++/CLI.
Niecza
A CLI implementation ofPerl 6.
Nemerle
A multi-paradigm language similar to C#, OCaml and Lisp.
Phalanger
An implementation ofPHPwith extensions forASP.NET.Predecessor of PeachPie.
UnityScript
JavaScript-like language, specific to theUnity game engine.Deprecated in favor ofC#.

Related[edit]

IKVM.NET
AJava virtual machinethat can be used to runJavaand other JVM languages (e.g., JVM likeGroovy,Scala) upon CLI implementations.

See also[edit]

References[edit]

  1. ^"GNAT for.Net".adacore.Retrieved2021-03-27.
  2. ^Priyadarshini, Manisha (June 25, 2018)."10 Most Popular Programming Languages In 2018: Learn To Code".Fossbytes.RetrievedJune 25,2018.
  3. ^"ClojureCLR".GitHub.Retrieved2012-06-28.
  4. ^"Another Language for Visual Studio and.Net: Synergex release Synergy/DE".msdn.
  5. ^Handy, Alex (20 August 2015)."COBOL comes to Visual Studio 2015 - SD Times".SD Times.Retrieved2017-04-04.