Los lenguajes CLI son lenguajes de programación de computadoras que se utilizan para producir bibliotecas y programas que cumplen con las especificaciones de Common Language Infrastructure (CLI). Con algunas excepciones notables, la mayoría de los lenguajes CLI se compilan completamente en Common Intermediate Language (CIL), un lenguaje intermedio que se puede ejecutar utilizando Common Language Runtime , implementado por .NET Framework , .NET Core y Mono . Algunos de estos lenguajes también requieren Dynamic Language Runtime (DLR).
A medida que se ejecuta el programa, el código CIL se compila (y se almacena en caché) justo a tiempo en el código de máquina apropiado para la arquitectura en la que se ejecuta el programa. Este paso se puede omitir manualmente almacenando en caché en una etapa anterior usando un compilador "anticipado" como ngen.exe de Microsoft y la opción "-aot" de Mono.
Idiomas CLI notables
Idiomas actuales
- Ada para .Net
- Ada es un lenguaje multiparadigma, que está fuertemente centrado en la seguridad, mantenibilidad y corrección del código. [1]
- Abucheo
- Un lenguaje CLI de tipo estático , inspirado en Python .
- C#
- Lenguaje CLI más utilizado, [2] que tiene grandes similitudes con Java y algunas similitudes con Object Pascal ( Delphi ) y C++ . Implementaciones proporcionadas por .NET Framework , .NET Core y Mono .
- C++/CLI
- Una versión de C++ que incluye extensiones para usar objetos Common Language Runtime (CLR). Proporciona soporte completo para .NET Framework y soporte exclusivo de biblioteca para .NET Core . Produce código en modo mixto que genera código nativo para objetos C++. El compilador lo proporciona Microsoft.
- ClojureCLR
- Un puerto de Clojure al CLI, parte del proyecto Clojure . [3]
- Componente Pascal
- Un dialecto de Oberon compatible con CLI . Es un lenguaje fuertemente tipado heredado de Pascal y Modula-2 pero con poderosas extensiones orientadas a objetos.
- eiffel
- Lenguaje puramente orientado a objetos, centrado en la calidad del software, incluye diseño integrado por contrato y herencia múltiple. Compatible con CLI.
- F#
- Un lenguaje CLI multiparadigma que admite programación funcional y disciplinas imperativas de programación orientada a objetos . Variante de ML y es en gran medida compatible con OCaml . Implementaciones proporcionadas por .NET Framework , .NET Core y Mono .
- F*
- Un lenguaje escrito de forma dependiente basado en F#.
- Ir
- a través del compilador RemObjects Gold y orientación multiplataforma.
- HierroPython
- Una implementación CLI de código abierto de Python , basada en Dynamic Language Runtime (DLR).
- esquema de hierro
- Una implementación de esquema compatible con R6RS basada en el DLR
- Java
- a través del compilador RemObjects Iodine y orientación multiplataforma.
- oxígeno
- Un lenguaje CLI basado en Object Pascal .
- PascalABC.NET
- Un lenguaje basado en Object Pascal implementado en .NET Framework.
- pastel de durazno
- Un compilador de PHP para .NET y .NET Core. Sucesor de Falanger.
- Constructor de energía
- Puede apuntar a CLI desde la versión 11.1.
- RemObjetos Mercurio
- Un lenguaje CLI basado en Visual Basic .Net .
- Pequeño Básico
- Un lenguaje de programación derivado de BASIC creado por Microsoft para enseñar programación. Las versiones compatibles se dirigen a las versiones 3.5 y 4.5 de .NET Framework .
- Escarcha plateada FTN95
- Una implementación de Fortran 95.
- Rápido
- a través del compilador RemObjects Silver y orientación multiplataforma.
- Sinergia DBL .NET
- Una implementación compatible con CLI orientada a objetos de DBL y DIBOL producida por Synergex. [4]
- Desarrollador de equipo
- Lenguaje de aplicación SQLWindows (SAL) desde Team Developer 6.0.
- Visual Basic.NET
- Un dialecto rediseñado de Classic Visual Basic . Implementaciones proporcionadas por .NET Framework , .NET Core y Mono .
- COBOL visual
- Una versión mejorada de COBOL portada a .NET Framework y JVM, producida por Micro Focus . [5]
- Potencia Shell
- Un shell de línea de comandos orientado a objetos . PowerShell puede cargar dinámicamente ensamblados .NET escritos en cualquier lenguaje CLI. El propio PowerShell utiliza una sintaxis de secuencias de comandos única y utiliza llaves, similar a otros lenguajes basados en C.
- XSharp
- X# es un lenguaje de desarrollo de código abierto para Microsoft .NET, basado en el lenguaje xBase. Viene en diferentes versiones, como Core, Visual Objects, Vulcan.NET, xBase++, Harbour, Foxpro y más.
Idiomas abandonados o en desuso
- A#
- Implementación CLI de Ada .
- Aksum
- Un lenguaje de programación concurrente modelo actor .
- Cobra
- Un lenguaje CLI con escritura estática y dinámica , diseño por contrato y pruebas unitarias integradas .
- fantasma
- Un lenguaje que se compila en .NET (ya no está en desarrollo activo) y en JVM.
- GrGen .NET
- Un lenguaje CLI para la reescritura de gráficos
- hierrorubí
- Una implementación CLI de código abierto de Ruby , construida sobre Dynamic Language Runtime (DLR).
- J#
- Una implementación de Java compatible con CLI . El compilador lo proporciona Microsoft. J# ha sido descontinuado. La última versión se envió con Visual Studio 2005 y fue compatible hasta 2015.
- JScript .NET
- Una implementación CLI de ECMAScript versión 3, compatible con JScript . Contiene extensiones para escritura estática . En desuso en favor de JScript administrado .
- JScript administrado
- Una implementación CLI de JScript basada en Dynamic Language Runtime (DLR). Cumple con ECMAScript versión 3.
- Extensiones administradas para C++
- Una versión de C++ dirigida a Common Language Runtime (CLR). En desuso a favor de C++/CLI .
- Niecza
- Una implementación CLI de Perl 6 .
- Nemerle
- Un lenguaje multiparadigma similar a C#, OCaml y Lisp.
- Falangero
- Una implementación de PHP con extensiones para ASP.NET . Predecesor de PeachPie.
- UnityScript
- Lenguaje similar a JavaScript , específico del motor de juegos Unity . En desuso en favor de C# .
Relacionado
- IKVM.NET
- Una máquina virtual Java que se puede utilizar para ejecutar Java y otros lenguajes JVM (por ejemplo, JVM como Groovy , Scala ) en implementaciones CLI.
Ver también
- Lista de lenguajes JVM
- .NET Framework , la implementación original que pronto quedará obsoleta.
- Mono , una implementación de código abierto de .NET Framework, utilizada en muchos lugares, incluidos Unity y Xamarin .
- .NET Core , el sucesor multiplataforma de código abierto de .NET Framework.
Referencias
- ^ "GNAT para .Net". adacore.com . Consultado el 27 de marzo de 2021 .
- ^ Priyadarshini, Manisha (25 de junio de 2018). "Los 10 lenguajes de programación más populares en 2018: aprenda a codificar". Fosbytes . Consultado el 25 de junio de 2018 .
- ^ "ClojureCLR". GitHub.com . Consultado el 28 de junio de 2012 .
- ^ "Otro lenguaje para Visual Studio y .Net: Synergex lanza Synergy/DE". msdn.com .
- ^ Handy, Alex (20 de agosto de 2015). "COBOL llega a Visual Studio 2015 - SD Times". Tiempos SD . Consultado el 4 de abril de 2017 .