Lista de software de programación
Esta lista de lenguajes JVM incluye lenguajes de programación de computadoras notables que se utilizan para producir software de computadora que se ejecuta en la máquina virtual Java (JVM). Algunos de estos lenguajes son interpretados por un programa Java y otros se compilan en código de bytes Java y se compilan en tiempo real (JIT) durante la ejecución como programas Java normales para mejorar el rendimiento.
La JVM fue diseñada inicialmente para soportar únicamente el lenguaje Java. Sin embargo, con el tiempo, cada vez se adaptaron o diseñaron más lenguajes para ejecutarse en la plataforma Java .
Lenguajes de JVM
Idiomas de alto perfil
A partir de 2024, según el índice TIOBE [1] de los 100 principales lenguajes de programación y PyPL, [2] los principales lenguajes JVM son:
- Java (#3, en algún momento en #1; #2 en PyPL), un lenguaje orientado a objetos con tipado estático
- Kotlin (#21, en un momento en #18; #13 en PyPL), un lenguaje de tipado estático de JetBrains , los desarrolladores de IntelliJ IDEA [3] y el lenguaje preferido de Google para Android
- Scala (#26, en un momento en #20; #22 en PyPL), un lenguaje de programación funcional y orientado a objetos con tipado estático [4]
- Groovy (ya no está entre los 50 mejores, es uno de los 51 a 100, en un momento estuvo en el puesto 15; en el puesto 26 en PyPL), un lenguaje de programación dinámico (también con tipado estático) y lenguaje de scripting [3] [5]
- Clojure (ya no está entre los 50 primeros, es uno de los 51-100, en un momento estuvo en el puesto 47), un dialecto dinámico y funcional del lenguaje de programación Lisp [3] ( ClojureScript no crea el índice de TIOBE por separado, sus estadísticas están incluidas en Clojure y es una implementación dirigida a la web con JavaScript , no a la JVM).
- Lenguaje de programación ByteSkript diseñado para principiantes que convierte un código simple y legible en un programa eficiente y seguro para la JVM . (Es un lenguaje similar a Skript)
Python es el lenguaje principal de TIOBE; Jython , su implementación de JVM, no aparece en la lista (de 100 lenguajes) bajo ese nombre (es compatible con la sintaxis de Python 2.7, ahora una versión obsoleta de Python). JavaScript (sexto), PHP , R y otros también están entre los 20 primeros y tienen implementaciones de JVM; Ruby está en el puesto 18, mientras que JRuby , su implementación de JVM, no aparece en la lista por separado.
Implementaciones JVM de lenguajes existentes
Nuevos lenguajes con implementaciones JVM
- Ateji PX , una extensión de Java para una programación paralela sencilla en núcleos múltiples, GPU, Grid y Cloud [23]
- Ballerina , un lenguaje para aplicaciones en la nube con tipado estructural; objetos de cliente de red, servicios, funciones de recursos y oyentes; concurrencia paralela con trabajadores; creación de imágenes; gestión de configuración. [24]
- BeanShell , un lenguaje de scripting cuya sintaxis es similar a la de Java
- EPL (Event Processing Language), un lenguaje de manipulación de datos específico de un dominio para analizar y detectar patrones en secuencias de eventos cronometrados, que amplía SQL 92 con funciones orientadas a eventos. Es implementado por Esper : hasta la versión 6, EPL era principalmente un lenguaje interpretado por una biblioteca Java; desde la versión 7 se compila en código de bytes JVM.
- Concurnas, un lenguaje JVM de código abierto diseñado para construir sistemas concurrentes, distribuidos y paralelos confiables, escalables y de alto rendimiento.
- Ceylon , un competidor de Java de Red Hat [3]
- CFML , ColdFusion Markup Language, más comúnmente conocido como CFML, es un lenguaje de programación para el desarrollo web que se ejecuta en JVM, el marco .NET y Google App Engine. [25]
- Quark Framework (CAL), un lenguaje funcional inspirado en Haskell
- E -on-Java, lenguaje orientado a objetos para computación distribuida segura
- Eta, lenguaje funcional puro, perezoso y fuertemente tipado en el espíritu de Haskell [26]
- Fantom , un lenguaje creado desde la base para ser portable a través de JVM, .NET Common Language Runtime (CLR) y JavaScript [27] [3]
- Flix , un lenguaje funcional, imperativo y lógico con restricciones de registro de datos de primera clase y un sistema de efectos polimórficos.
- Flujo Java
- Fortress , un lenguaje diseñado por Sun como sucesor de Fortran, principalmente para computación científica paralela. El desarrollo del producto fue asumido por Oracle cuando Sun fue adquirida. Oracle luego detuvo el desarrollo en 2012 según el Dr. Dobb's.
- Frege, un lenguaje funcional puro y no estricto en el espíritu de Haskell [28]
- Golo , un lenguaje simple, dinámico y débilmente tipado para la JVM desarrollado en el Instituto Nacional de Ciencias Aplicadas de Lyon , Francia, ahora un proyecto en incubación en la Eclipse Software Foundation. [29] [30] [31]
- Gosu , un lenguaje de sistema de tipos extensible compilado en código de bytes Java
- Haxe , un lenguaje estático multiplataforma orientado a Java y JVM.
- Ioke, un lenguaje basado en prototipos que recuerda un poco a Io , con similitudes con Ruby , Lisp y Smalltalk
- Gelatina
- Únase a Java , un lenguaje que extiende Java con semántica de cálculo de unión
- Alegría
- Manifold es un "complemento" del compilador de Java (es decir, en lugar de ser un lenguaje y compilador independiente, secuestra y extiende javac). Sus características incluyen metaprogramación, propiedades, métodos de extensión, sobrecarga de operadores, plantillas, un preprocesador y más.
- Mirah , un lenguaje personalizable que incluye inferencia de tipos y una sintaxis muy inspirada en Ruby [32] [33]
- NetLogo , un lenguaje multiagente
- Noop , un lenguaje creado con la capacidad de prueba como enfoque principal
- Pizza , un superconjunto de Java con punteros de función y tipos de datos algebraicos
- nueces
- Processing , un lenguaje y marco de visualización y animación basado en Java con una sintaxis similar a Java
- Prompto, un lenguaje "diseñado para crear aplicaciones empresariales en la nube". Forma parte de la plataforma homónima para diseñar aplicaciones empresariales directamente en la nube. El lenguaje Prompto incluye tres "dialectos": Engly, Monty y Objy. Engly "imita al inglés tanto como sea posible", Monty "intenta seguir tanto como sea posible la sintaxis del lenguaje Python 3" y Objy "intenta seguir tanto como sea posible la sintaxis de lenguajes OOP como C++, Java o C#". Los tres dialectos se traducen entre sí sin problemas. [34]
- RascalMPL , un metalenguaje independiente del lenguaje de origen y de destino (parametrizado)
- Mientras tanto
- X10 , un lenguaje diseñado por IBM, que presenta tipos restringidos y un enfoque en la concurrencia y la distribución [3]
- Xtend , un lenguaje de programación orientado a objetos , funcional e imperativo creado por la fundación Eclipse , que presenta una estrecha interoperabilidad con Java, con un enfoque en métodos de extensión y lambdas, y herramientas enriquecidas.
- Yeti, un lenguaje funcional de estilo ML [35]
- Yirgacheffe, un lenguaje que tiene como objetivo simplificar y extender el paradigma orientado a objetos. [36]
- Yoix, lenguaje interpretado dinámico, no orientado a objetos y de propósito general
Comparación de estos idiomas
Véase también
Notas
- ^ [19] [20] [21] es un IDE gratuito en fase de pruebas beta desde 2009, con un entorno de ejecución del marco Jabaco parcialmente de código abierto . [22] Jabaco compila la fuente de sintaxis de VB 6 en código de bytes de Java.
Referencias
- ^ "Índice TIOBE". TIOBE . Consultado el 4 de noviembre de 2024 .
- ^ "Índice de popularidad de lenguajes de programación PYPL". pypl.github.io . Consultado el 4 de noviembre de 2024 .
- ^ abcdef Urma, Raoul-Gabriel (1 de julio de 2014). "Lenguajes alternativos para la JVM. Una mirada a ocho características de ocho lenguajes de la JVM". Oracle . Consultado el 13 de marzo de 2019 .
- ^ Wampler, Dean (15 de enero de 2009). "Adopción de nuevos lenguajes JVM en la empresa (actualizado)". objectmentor.com. Archivado desde el original el 22 de mayo de 2009. Consultado el 18 de junio de 2009 .
- ^ "Groovy Springs vuelve a la lista de lenguajes de programación de TIOBE" . Consultado el 10 de marzo de 2021 .
- ^ "Folleto COBOL de NTT Data Enterprise" (PDF) .
- ^ "Folleto de Visual COBOL" (PDF) . Consultado el 5 de abril de 2017 .
- ^ "Ficha técnica de isCOBOL Evolve" (PDF) . Consultado el 17 de mayo de 2019 .
- ^ Oso armado ceceo común
- ^ "Novedades en Neo4j: ya está disponible la versión Milestone 2 de Neo4j 2.3.0". 12 de junio de 2015. Consultado el 20 de febrero de 2017 .
- ^ ab "Oracle Labs GraalVM: descripción general de lenguajes de programación y tiempos de ejecución". www.oracle.com . Consultado el 12 de abril de 2018 .
- ^ "graalvm/sulong". GitHub . Consultado el 12 de abril de 2018 .
- ^ "Presentación de Quercus, un PHP basado en Java". IBM . Consultado el 2 de julio de 2015 .
- ^ "Ejecución de PHP con Quercus en el servidor web Sun Java System" . Consultado el 2 de julio de 2015 .
- ^ "ssllab / ZipPy — Bitbucket". bitbucket.org . Consultado el 12 de abril de 2018 .
- ^ "oracle/fastr". GitHub . Consultado el 12 de abril de 2018 .
- ^ "oracle/truffleruby". GitHub . Consultado el 12 de abril de 2018 .
- ^ "Redline Smalltalk". Archivado desde el original el 24 de marzo de 2021. Consultado el 2 de septiembre de 2018 .
- ^ "Entrada de Jabaco en la sección de conceptos básicos de Mindteq.com" . Consultado el 2 de julio de 2015 .]
- ^ "Artículo sobre Jabaco en la publicación alemana Pro-Linux" . Consultado el 2 de julio de 2015 .]
- ^ "Basic se encuentra con Java" . Consultado el 26 de febrero de 2015 .
- ^ "Marco" . Consultado el 26 de febrero de 2015 .
- ^ "Ateji PX: Programación paralela en Java simplificada". Ateji . Archivado desde el original el 24 de febrero de 2014 . Consultado el 1 de marzo de 2014 .
- ^ "Integraciones flexibles, potentes y hermosas como código con Ballerina". Ballerina . Consultado el 28 de septiembre de 2024 .
- ^ CFML , un lenguaje de script compilado en Java, utilizado en los servidores de aplicaciones ColdFusion o Railo
- ^ "El lenguaje de programación Eta" . Consultado el 10 de mayo de 2017 .
- ^ "Lenguaje de programación Fantom". Fantom . Consultado el 1 de marzo de 2014 .
- ^ "Frege" . Consultado el 1 de marzo de 2014 .
- ^ "Oracle.com - Golo: un lenguaje dinámico y ligero para la JVM". Archivado desde el original el 3 de julio de 2015 . Consultado el 2 de julio de 2015 .]
- ^ "Golo nominado a los premios JAX 2014" . Consultado el 2 de julio de 2015 .]
- ^ "Entrada de Golo en los Premios JAX 2014" . Consultado el 2 de julio de 2015 .]
- ^ "El lenguaje de programación Mirah". GitHub . Consultado el 1 de marzo de 2014 .
- ^ "Mira" . Consultado el 1 de marzo de 2014 .
- ^ "La Plataforma Prompto" . Consultado el 14 de septiembre de 2019 .
- ^ "Lenguaje de programación Yeti" . Consultado el 5 de mayo de 2020 .
- ^ "Yirgacheffe" . Consultado el 9 de enero de 2020 .