Los lenguajes CLI son lenguajes de programación informática que se utilizan para producir bibliotecas y programas que cumplen con las especificaciones de la infraestructura de lenguaje común (CLI). Con algunas excepciones notables, la mayoría de los lenguajes CLI se compilan completamente en el lenguaje intermedio común (CIL), un lenguaje intermedio que se puede ejecutar mediante 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 en tiempo real (y se almacena en caché) 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 mediante un compilador "previo a la ejecución" como ngen.exe de Microsoft y la opción "-aot" de Mono.
Lenguajes CLI destacados
Idiomas actuales
- Ada para .Net
- Ada es un lenguaje multiparadigma, que se centra principalmente en la seguridad, la mantenibilidad y la corrección del código. [1]
- Abucheo
- Un lenguaje CLI tipado estáticamente , inspirado en Python .
- DO#
- El lenguaje CLI más utilizado, [2] con fuertes 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 de Common Language Runtime (CLR). Proporciona compatibilidad total con .NET Framework y compatibilidad solo con bibliotecas para .NET Core . Produce código de modo mixto que genera código nativo para objetos de C++. El compilador lo proporciona Microsoft.
- ClojureCLR
- Un puerto de Clojure a la CLI, parte del proyecto Clojure . [3]
- Componente Pascal
- Un dialecto de Oberon compatible con CLI . Es un lenguaje fuertemente tipado que hereda de Pascal y Modula-2, pero con potentes extensiones orientadas a objetos.
- Torre 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 la programación funcional y las disciplinas de programación orientada a objetos imperativas . Variante de ML y es en gran medida compatible con OCaml . Implementaciones proporcionadas por .NET Framework , .NET Core y Mono .
- F*
- Un lenguaje de tipado dependiente basado en F#.
- Ir
- a través del compilador RemObjects Gold y la orientación multiplataforma.
- HierroPython
- Una implementación CLI de código abierto de Python , construida sobre Dynamic Language Runtime (DLR).
- Esquema de hierro
- Una implementación del esquema compatible con R6RS construida sobre el DLR
- Java
- a través del compilador RemObjects Iodine y la 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 melocotón
- Un compilador de PHP para .NET y .NET Core. Sucesor de Phalanger.
- Constructor de energía
- Puede apuntar a CLI desde la versión 11.1.
- RemObjects Mercurio
- Un lenguaje CLI basado en Visual Basic .Net .
- Óxido
- Un proyecto de investigación para un back-end .NET experimental para Rust. [4]
- Pequeño básico
- Un lenguaje de programación derivado de BASIC creado por Microsoft para enseñar programación. Las versiones compatibles son las 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 la orientación multiplataforma.
- Sinergia DBL .NET
- Una implementación de DBL y DIBOL compatible con CLI orientada a objetos producida por Synergex. [5]
- Desarrollador de equipo
- Lenguaje de aplicación SQLWindows (SAL) desde Team Developer 6.0.
- Visual Basic.NET
- Un dialecto rediseñado del Visual Basic clásico . Implementaciones proporcionadas por .NET Framework , .NET Core y Mono .
- COBOL visual
- Una versión mejorada de COBOL trasladada al .NET Framework y a la JVM, producida por Micro Focus . [6]
- Potencia Shell
- Un shell de línea de comandos orientado a objetos . PowerShell puede cargar dinámicamente ensambles .NET escritos en cualquier lenguaje CLI. PowerShell utiliza una sintaxis de scripting única y utiliza llaves, de manera similar a otros lenguajes basados en C.
- X-Sharp
- 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 .
- Axum
- Un lenguaje de programación concurrente de modelos de actores .
- Cobra
- Un lenguaje CLI con tipado estático y dinámico , diseño por contrato y pruebas unitarias integradas .
- Fantasma
- Un lenguaje que se compila para .NET (ya no está en desarrollo activo) y para JVM
- GrGen.NET
- Un lenguaje CLI para reescribir 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# ya no se fabrica. La última versión se envió con Visual Studio 2005 y recibió soporte hasta 2015.
- JavaScript .NET es una aplicación que permite a los desarrolladores crear, editar y compartir archivos PDF.
- Implementación de CLI de ECMAScript versión 3, compatible con JScript . Contiene extensiones para tipado estático . Obsoleto en favor de Managed JScript .
- JScript administrado
- Implementación de CLI de JScript basada en Dynamic Language Runtime (DLR). Cumple con la versión 3 de ECMAScript .
- Extensiones administradas para C++
- Una versión de C++ destinada a Common Language Runtime (CLR). Se dejó de usar en favor de C++/CLI .
- Nieta
- 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.
- Script de Unity
- Lenguaje similar a JavaScript , específico del motor de juegos Unity . Obsoleto 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 de CLI.
Véase también
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". Fossbytes . Consultado el 25 de junio de 2018 .
- ^ "ClojureCLR". GitHub.com . Consultado el 28 de junio de 2012 .
- ^ "rust_codegen_clr". GitHub.com . Consultado el 30 de agosto de 2024 .
- ^ "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". SD Times . Consultado el 4 de abril de 2017 .