List of CLI languages
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]
- List of JVM languages
- .NET Framework,the original, soon-to-be-deprecated implementation.
- Common Language Infrastructure(CLI), an open specification of the run time environment (virtual machine component) of.NET framework
- Common Intermediate Language(CIL), an intermediate language that can be executed using an implementation of CLI
- Common Language Runtime,the virtual machine component of Microsoft's implementation of the.NET Framework.
- .NET standard libraries
- Base Class Library(BCL)
- Mono,an open source implementation of.NET Framework, used in many places includingUnityandXamarin.
- .NET Core,the open source cross-platform successor to.NET Framework.
References[edit]
- ^"GNAT for.Net".adacore.Retrieved2021-03-27.
- ^Priyadarshini, Manisha (June 25, 2018)."10 Most Popular Programming Languages In 2018: Learn To Code".Fossbytes.RetrievedJune 25,2018.
- ^"ClojureCLR".GitHub.Retrieved2012-06-28.
- ^"Another Language for Visual Studio and.Net: Synergex release Synergy/DE".msdn.
- ^Handy, Alex (20 August 2015)."COBOL comes to Visual Studio 2015 - SD Times".SD Times.Retrieved2017-04-04.