Suvarna Garge (Editor)

List of CLI languages

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit

CLI Languages are computer programming languages that are used to produce libraries and programs that conform to the Common Language Infrastructure (CLI) specifications. With some notable exceptions, most CLI languages compile entirely to the Common Intermediate Language (CIL), an intermediate language that can be executed using an implementation of CLI such as the Common Language Runtime (CLR, a part of the Microsoft .NET Framework), Mono, or Portable.NET. Some of these languages also require the Dynamic Language Runtime (DLR).

Contents

As the program is being executed, the CLI 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 shortcut manually and cached at an earlier stage using an "ahead of time" compiler such as Microsoft's ngen.exe and Mono's "-aot" option.

Current Languages

  • Boo: A statically typed CLI language, inspired by Python.
  • C#: Most widely used CLI language, bearing similarities to Java, Object Pascal (Delphi) and C++. Implementations provided by .NET Framework, Portable.NET and Mono.
  • C++/CLI: A version of C++ including extensions for using Common Language Runtime (CLR) objects. Implementation provided only by .NET Framework. Produces mixed-mode code that produces native code for C++ objects. The compiler is provided by Microsoft.
  • ClojureCLR: A native implementation of Clojure on the Common Language Runtime (CLR), the execution engine of Microsoft's .Net Framework.
  • Cobra: A CLI language with static and dynamic typing, design by contract and built-in unit testing.
  • 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.
  • F#: A multi-paradigm CLI language supporting functional programming and imperative object-oriented programming disciplines. Variant of ML and is largely compatible with OCaml. The compiler is provided by Microsoft. The implementation provided by Microsoft officially targets both .NET and Mono.
  • F* - A dependently typed language based on F#.
  • Fantom - a language compiling to .NET and to the JVM
  • IronPython: An open-source CLI implementation of Python, built on the Dynamic Language Runtime (DLR).
  • IronScheme - a R6RS-compliant Scheme implementation built on the DLR
  • JScript .NET: A CLI implementation of ECMAScript version 3, compatible with JScript. Contains extensions for static typing. Deprecated in favor of Managed JScript.
  • L#: A CLI implementation of Lisp.
  • Limnor Studio: Is a general-purpose codeless and visual programming system. The aim is to enable users to create computer software without coding in a texture programming language. It can be extended by software developers.
  • Lisp# Un-Armed Bear Common Lisp (IKVM.NET port from Java)
  • Managed JScript: A CLI implementation of JScript built on the Dynamic Language Runtime (DLR). Conforms to ECMAScript version 3.
  • Nemerle: A multi-paradigm language similar to C#, OCaml and Lisp.
  • Oxygene: An Object Pascal-based CLI language.
  • C#Prolog: A CLI implementation of Prolog from
  • Phalanger: An implementation of PHP with extensions for ASP.NET
  • Phrogram: A custom CLI language for beginners and intermediate users produced by The Phrogram Company
  • PowerBuilder: Can target CLI since version 11.1.
  • Small Basic: A BASIC-derived programming language created by Microsoft for teaching programming. Supported releases target .NET Framework versions 3.5 and 4.5.
  • STARLIMS Scripting Language (SSL): A fully object-oriented BASIC like language implemented as server-side application language for the STARLIMS v10 / v11 enterprise software. SSL code gets compiled on the fly to MSIL for .NET CLR.
  • Synergy DBL .NET: an object oriented CLI compliant implementation of DBL and DIBOL produced by Synergex.
  • Team Developer: SQLWindows Application Language (SAL) since Team Developer 6.0.
  • Visual Basic .NET (VB.NET): A redesigned dialect of Visual Basic. Implementations provided by .NET Framework and Mono.
  • Windows PowerShell: An object-oriented command-line shell. 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.
  • Abandoned or Deprecated Languages

  • A#: CLI implementation of Ada.
  • Axum: An actor model concurrent programming language.
  • Delphi.NET: CLI implementation of Delphi.
  • GNAT for .NET: CLI implementation of Ada.
  • GrGen.NET - a CLI language for graph rewriting
  • IronLisp: A CLI implementation of Lisp. Deprecated in favor of IronScheme.
  • 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.
  • Managed Extensions for C++: A version of C++ targeting the Common Language Runtime (CLR). Deprecated in favor of C++/CLI.
  • Niecza - A CLI implementation of Perl 6.
  • P#: A CLI implementation of Prolog.
  • Prolog.NET: A CLI implementation of Prolog from
  • Prolog.NET: Other CLI implementation of Prolog from
  • IKVM.NET: A Java virtual machine that can be used to run Java and other JVM languages (e.g., JVM like Groovy, Scala) upon CLI implementations.
  • References

    List of CLI languages Wikipedia


    Similar Topics