Esta lista de lenguajes de la JVM incluye lenguajes de programación destacados que se utilizan para crear software que se ejecuta en la Máquina Virtual de Java (JVM). Algunos programas Java interpretan estos lenguajes, mientras que otros se compilan a código de bytes de la JVM y se compilan justo a tiempo (JIT) durante la ejecución, al igual que los programas Java convencionales, para mejorar el rendimiento.
La JVM se diseñó inicialmente para admitir únicamente el lenguaje Java. Sin embargo, con el tiempo, se adaptaron o diseñaron otros lenguajes para que se ejecutaran en la plataforma Java .
lenguajes de la JVM
Idiomas de gran relevancia
A partir de febrero de 2026, según el índice TIOBE [ 1 ] de los 100 lenguajes de programación más importantes y PyPL, [ 2 ] los principales lenguajes de JVM son:
- Java (n.º 4, en un momento dado en el n.º 1; n.º 3 en PyPL, después de "C/C++" como 2.º), un lenguaje orientado a objetos con tipado estático.
- Kotlin (#20; #18, y en un momento dado en el #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 (#39, en un momento dado 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 primeros, es uno de los 51–100, en un momento llegó al puesto #15; #30 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 puestos 51-100, en un momento llegó al puesto 47), un dialecto dinámico y funcional del lenguaje de programación Lisp [ 3 ] ( ClojureScript no aparece por separado en el índice TIOBE, sus estadísticas se incluyen bajo Clojure, y es una implementación dirigida a la web con JavaScript , no con la JVM).
Python es el lenguaje más popular según TIOBE; Jython , su implementación para la JVM, no figura en la lista (de 100 lenguajes) bajo ese nombre (su sintaxis es compatible con Python 2.7, una versión obsoleta). JavaScript (6.º), PHP , R y otros también se encuentran entre los 20 primeros y cuentan con implementaciones para la JVM; Ruby ocupa el puesto 25, mientras que JRuby , su implementación para la JVM, no aparece en la lista por separado.
Implementaciones de JVM de lenguajes existentes
Nuevos lenguajes con implementaciones en la JVM
- Ateji PX , una extensión de Java para programación paralela sencilla en multinúcleo, 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; y gestión de configuración. [ 24 ]
- BeanShell , un lenguaje de scripting cuya sintaxis es similar a la de Java.
- BoxLang , un lenguaje de scripting moderno, dinámico y de tipado flexible para múltiples entornos de ejecución. Para la Máquina Virtual de Java (JVM), ofrece construcciones de programación orientada a objetos (OO), programación funcional (FP) y programación de metadatos dinámica (MP).
- EPL (Event Processing Language) es un lenguaje de manipulación de datos específico de dominio para analizar y detectar patrones en flujos de eventos temporizados, que extiende SQL 92 con características orientadas a eventos. Está implementado por Esper : hasta la versión 6, EPL era principalmente un lenguaje interpretado implementado por una biblioteca Java; desde la versión 7, se compila a bytecode de la JVM.
- Concurnas , un lenguaje JVM de código abierto diseñado para construir sistemas concurrentes, distribuidos y paralelos fiables, escalables y de alto rendimiento.
- Ceylon , un competidor de Java de Red Hat [ 3 ]
- ColdFusion Markup Language (CFML), un lenguaje de scripting para desarrollo web que se ejecuta en la JVM, el .NET Framework y Google App Engine. [ 25 ]
- Quark Framework (CAL), un lenguaje funcional inspirado en Haskell.
- E -on-Java, un 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 construido a partir de la base para ser portable en la JVM, .NET Common Language Runtime (CLR) y JavaScript [ 27 ] [ 3 ]
- Flix , un lenguaje funcional, imperativo y lógico con restricciones Datalog de primera clase y un sistema de efectos polimórficos.
- Flujo de Java
- Fortress , un lenguaje diseñado por Sun como sucesor de Fortran, principalmente para computación científica paralela. Oracle se hizo cargo del desarrollo del producto tras la adquisición de Sun. Según el Dr. Dobb, Oracle detuvo su desarrollo en 2012.
- 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 Institut national des sciences appliquées de Lyon , Francia, ahora es un proyecto en incubación en la Eclipse Software Foundation. [ 29 ] [ 30 ] [ 31 ]
- Gosu , un precursor de Kotlin con un sistema de tipos extensible.
- Haxe , un lenguaje de programación multiplataforma de tipado estático que tiene como objetivo Java y la JVM.
- Ioke, un lenguaje basado en prototipos que recuerda en cierto modo a Io , con similitudes a Ruby , Lisp y Smalltalk.
- Gelatina
- Únete a Java , un lenguaje que extiende Java con semántica de cálculo de unión .
- Alegría
- Manifold no es un lenguaje independiente. Se integra con el compilador de Java mediante la
javacAPI oficial de complementos y puede añadirse como dependencia en proyectos Java existentes. Ofrece metaprogramación estática, extensiones del sistema de tipos, propiedades, métodos de extensión, sobrecarga de operadores, argumentos con nombre y opcionales, y mucho 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 construido con la capacidad de prueba como enfoque principal.
- Pizza , un superconjunto de Java con punteros a funciones y tipos de datos algebraicos.
- Pnuts
- Processing , un lenguaje y marco de visualización y animación basado en Java con una sintaxis similar a la de Java.
- Prompto es 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 el inglés en la medida de lo posible, Monty intenta seguir la sintaxis de Python 3 en la medida de lo posible, y Objy intenta seguir la sintaxis de lenguajes de programación orientada a objetos como C++, Java o C# en la medida de lo posible. Los tres dialectos se traducen entre sí sin problemas. [ 34 ]
- RascalMPL , un metalenguaje independiente del idioma de origen y de destino (parametrizado).
- Mientras tanto
- X10 , un lenguaje diseñado por IBM, que presenta tipos restringidos y se centra 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 ofrece una estrecha interoperabilidad con Java, con un enfoque en métodos de extensión y expresiones lambda, y herramientas avanzadas.
- Yeti , un lenguaje funcional de estilo ML [ 35 ]
- Yirgacheffe , un lenguaje que pretende simplificar y extender el paradigma orientado a objetos. [ 36 ]
- Yoix, lenguaje dinámico interpretado, de propósito general y no orientado a objetos.
- ZoomBA , un lenguaje interpretado, declarativo y dinámico.
Comparación de estos idiomas
Véase también
- Máquina de Da Vinci
- Máquina virtual Java § Lenguajes de la JVM
- Lista de lenguajes CLI , siguiendo la especificación CLI, la respuesta de Microsoft a JVM
- Lista de lenguajes de programación de código abierto
Notas
Referencias
- ↑ "Índice TIOBE" . TIOBE . Consultado el 22 de febrero de 2026 .
- ↑ "Índice de popularidad de lenguajes de programación de PYPL" . pypl.github.io . Consultado el 22 de febrero de 2026 .
- 1 2 3 4 5 6 Urma, Raoul-Gabriel (1 de julio de 2014). "Lenguajes alternativos para la JVM. Un vistazo a ocho características de ocho lenguajes de la JVM" . Oracle . Recuperado 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 del original el 22 de mayo de 2009. Recuperado el 18 de junio de 2009 .
- ↑ Kolakowski, Nick (10 de marzo de 2021). "Groovy vuelve a aparecer en la lista de lenguajes de programación de TIOBE" . Dice . 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 .
- ↑ "Hoja de datos de isCOBOL Evolve" (PDF) . Consultado el 17 de mayo de 2019 .
- ↑ Oso armado Lisp común
- ↑ "Novedades en Neo4j: Ya está aquí la versión Neo4j 2.3.0 Milestone 2" . 12 de junio de 2015. Consultado el 20 de febrero de 2017 .
- 1 2 "Oracle Labs GraalVM: Descripción general de lenguajes de programación y entornos de ejecución" . www.oracle.com . Consultado el 12 de abril de 2018 .
- ^ "graalvm/sulong" . GitHub . Consultado el 12 de abril de 2018 .
- ↑ "Presentamos Quercus, un PHP basado en Java" . IBM . Consultado el 2 de julio de 2015 .
- ↑ "Ejecutar 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 del original el 24 de marzo de 2021. Consultado el 2 de septiembre de 2018 .
- ↑ "Entrada de Jabaco en la sección Básicos de Mindteq.com" . Consultado el 2 de julio de 2015 .]
- ↑ "Artículo sobre Jabaco en una publicación alemana pro-Linux" . Consultado el 2 de julio de 2015 .]
- ↑ "Basic conoce 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 del 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 scripting compilado a Java, utilizado en losservidores 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 16 de marzo de 2025 .
- ↑ "Oracle.com - Golo – Un lenguaje dinámico ligero para la JVM" . Archivado del 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 .]
- ↑ "Participación 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 .
- ↑ «Mirá» . 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 .
- Lenguajes de programación de la JVM
- Listas de lenguajes de programación