Los lenguajes CLI son lenguajes de programación que se utilizan para crear bibliotecas y programas que cumplen con las especificaciones de la Infraestructura de Lenguaje Común (CLI). Salvo algunas excepciones notables, la mayoría de los lenguajes CLI se compilan completamente al Lenguaje Intermedio Común (CIL), un lenguaje intermedio que se puede ejecutar mediante el Entorno de Ejecución de Lenguaje Común (CLR ), implementado por .NET Framework , .NET Core y Mono . Algunos de estos lenguajes también requieren el Entorno de Ejecución de Lenguaje Dinámico (DLR).
Durante la ejecución del programa, el código CIL se compila (y almacena en caché) justo a tiempo, generando el código máquina adecuado para la arquitectura en la que se ejecuta el programa. Este paso puede omitirse manualmente mediante el almacenamiento en caché en una etapa anterior, utilizando un compilador de compilación anticipada como ngen.exe de Microsoft y la opción "-aot" de Mono.
Lenguajes de línea de comandos destacados
Idiomas actuales
- Ada para .Net
- Ada es un lenguaje multiparadigma, que se centra fuertemente en la seguridad, la mantenibilidad y la corrección del código. [ 1 ]
- Abucheo
- Un lenguaje de línea de comandos con tipado estático , inspirado en Python .
- DO#
- Lenguaje CLI más utilizado, [ 2 ] con fuertes similitudes con Java y cierta similitud 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). Ofrece compatibilidad total con .NET Framework y compatibilidad solo con bibliotecas para .NET Core . Genera código en modo mixto que produce código nativo para objetos de C++. El compilador lo proporciona Microsoft.
- ClojureCLR
- Una adaptación de Clojure a la CLI, parte del proyecto Clojure . [ 3 ]
- Componente Pascal
- Un dialecto de Oberon compatible con la interfaz de línea de comandos (CLI ). Es un lenguaje fuertemente tipado que hereda la tradición de Pascal y Modula-2, pero con potentes extensiones orientadas a objetos.
- Eiffel
- Lenguaje puramente orientado a objetos, enfocado en la calidad del software, incluye diseño integrado por contrato y herencia múltiple. Compatible con CLI.
- F#
- Lenguaje CLI multiparadigma que admite programación funcional y programación orientada a objetos imperativa . Variante de ML y compatible en gran medida con OCaml . Implementaciones proporcionadas por .NET Framework , .NET Core y Mono .
- F*
- Un lenguaje de tipado dependiente basado en F#.
- Ir
- mediante el compilador RemObjects Gold y la compatibilidad con múltiples plataformas.
- IronPython
- Una implementación de línea de comandos de código abierto de Python , basada en el Dynamic Language Runtime (DLR).
- IronScheme
- Implementación de un esquema compatible con R6RS basada en el DLR.
- Java
- mediante el compilador RemObjects Iodine y la compatibilidad con múltiples plataformas.
- Oxígeno
- Un lenguaje de línea de comandos basado en Object Pascal .
- PascalABC.NET
- Un lenguaje basado en Object Pascal implementado en el .NET Framework.
- Pastel de durazno
- Un compilador de PHP a .NET y .NET Core. Sucesor de Phalanger.
- PowerBuilder
- Puede dirigirse a la CLI desde la versión 11.1.
- PowerShell
- PowerShell es un intérprete de línea de comandos orientado a objetos . Puede cargar dinámicamente ensamblados .NET escritos en cualquier lenguaje de línea de comandos. PowerShell utiliza una sintaxis de scripting única y emplea llaves, al igual que otros lenguajes basados en C.
- RemObjects Mercurio
- Un lenguaje de línea de comandos basado en Visual Basic .Net .
- Óxido
- Un proyecto de investigación para un backend experimental .NET para Rust. [ 4 ]
- Silverfrost FTN95
- Una implementación de Fortran 95.
- Pequeño básico
- Lenguaje de programación derivado de BASIC, creado por Microsoft para la enseñanza de la programación. Las versiones compatibles son para las versiones 3.5 y 4.5 de .NET Framework .
- Rápido
- mediante el compilador RemObjects Silver y la compatibilidad con múltiples plataformas.
- Synergy DBL .NET
- Una implementación de DBL y DIBOL compatible con CLI orientada a objetos producida por Synergex. [ 5 ]
- Desarrollador de equipo
- SQLWindows Application Language (SAL) desde Team Developer 6.0.
- Visual Basic.NET
- Una variante rediseñada de Visual Basic clásico . Implementaciones proporcionadas por .NET Framework , .NET Core y Mono .
- Visual COBOL
- Una versión mejorada de COBOL portada al .NET Framework y a la JVM, producida por Micro Focus . [ 6 ]
- 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.
Lenguajes abandonados o en desuso
- A#
- Implementación de Ada mediante la interfaz de línea de comandos (CLI) .
- Axum
- Un lenguaje de programación concurrente basado en actores .
- Cobra
- Un lenguaje de línea de comandos con tipado estático y dinámico , diseño por contrato y pruebas unitarias integradas .
- Fantom
- Un lenguaje que se compila a .NET (ya no está en desarrollo activo) y a la JVM. Archivado el 3 de abril de 2022 en Wayback Machine.
- GrGen .NET
- Un lenguaje de línea de comandos para la reescritura de grafos.
- Rubí de hierro
- Una implementación de línea de comandos de código abierto de Ruby , basada en el Dynamic Language Runtime (DLR).
- J#
- Implementación de Java compatible con la interfaz de línea de comandos (CLI) . El compilador lo proporciona Microsoft. J# ha sido descontinuado. La última versión se incluyó con Visual Studio 2005 y tuvo soporte hasta 2015.
- JScript .NET
- Implementación de línea de comandos de ECMAScript versión 3, compatible con JScript . Contiene extensiones para tipado estático . Se recomienda usar Managed JScript en lugar de esta versión .
- Extensiones administradas para C++
- Una versión de C++ dirigida al Common Language Runtime (CLR). Obsoleta; se recomienda usar C++/CLI .
- JScript administrado
- Implementación de JScript para la línea de comandos, basada en Dynamic Language Runtime (DLR). Cumple con la versión 3 de ECMAScript .
- Nemerle
- Un lenguaje multiparadigma similar a C#, OCaml y Lisp.
- Niecza
- Una implementación de línea de comandos de Perl 6 .
- 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 . Obsoleto en favor de C# .
Relacionado
- IKVM
- Una máquina virtual Java que se puede utilizar para ejecutar Java y otros lenguajes de la JVM (por ejemplo, lenguajes como Groovy o Scala ) en implementaciones de la interfaz de línea de comandos (CLI).
Véase también
- Lista de lenguajes JVM
- Lista de lenguajes de programación de código abierto
- .NET Framework , la implementación original, que pronto quedará obsoleta.
- Common Language Infrastructure (CLI), una especificación abierta del entorno de ejecución (componente de máquina virtual) del framework .NET.
- Lenguaje Intermedio Común (CIL), un lenguaje intermedio que se puede ejecutar utilizando una implementación de CLI
- Common Language Runtime , el componente de máquina virtual de la implementación de Microsoft del .NET Framework.
- Bibliotecas estándar .NET
- Mono , una implementación de código abierto de .NET Framework, se utiliza 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: Aprende a programar" . 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 .
- Infraestructura de lenguaje común
- Listas de lenguajes de programación