List of JVM languages

This list of JVM languages comprises notable computer programming languages that are used to produce computer software that runs on the Java Virtual Machine (JVM). A Java program interprets some of these languages, and others are compiled to JVM bytecode and just-in-time (JIT) compiled during execution, as with regular Java programs, to improve performance.

The JVM was initially designed to support only the Java language. However, over time, additional languages were adapted or designed to run on the Java platform.

JVM languages

High-profile languages

As of February 2026, according to the TIOBE index[1] of the top 100 programming languages, and PyPL,[2] the top JVM languages are:

Python is TIOBE's top language; Jython, its JVM implementation, doesn't make the list (of 100 languages) under that name (is syntax compatible with Python 2.7, now an outdated Python version). JavaScript (6th), PHP, R, and others also make the top 20 and have JVM implementations; Ruby is ranked 25th, while JRuby, its JVM implementation, is not listed separately.

JVM implementations of existing languages

Language JVM implementations
Go jgo
Arden syntax Arden2ByteCode
COBOL NTT Data Enterprise COBOL[6]

Micro Focus Visual COBOL[7]
Heirloom Elastic COBOL
Veryant isCOBOL Evolve[8]

ColdFusion Markup Language (CFML) Adobe ColdFusion
Lucee
Open BlueDragon
Common Lisp Armed Bear Common Lisp[9]
Cypher Neo4j[10]
Haskell Eta (programming language)
JavaScript Rhino
Nashorn

Graal.js[11]

LLVM Bitcode Sulong[12]
Mercury Mercury (Java grade)
OCaml OCaml-Java
Component Pascal Gardens Point Component Pascal
Pascal MIDletPascal
Oxygene
Raku Rakudo
PHP Quercus[13][14]
JPHP
Prolog JIProlog
TuProlog
Python Jython

ZipPy[15]
Graal.Python[11]

R Renjin

FastR[16]

Rexx NetRexx
Ruby JRuby
TruffleRuby[17]
Scheme Bigloo
Kawa
SISC
JScheme
Simula Open Source Simula
Smalltalk Redline[18]
Standard ML MLj
Tcl Jacl
Visual Basic Jabaco[note 1]

New languages with JVM implementations

  • Ateji PX, an extension of Java for easy parallel programming on multicore, GPU, Grid, and Cloud[23]
  • Ballerina, a language for cloud applications with structural typing; network client objects, services, resource functions, and listeners; parallel concurrency with workers; image building; and configuration management.[24]
  • BeanShell, a scripting language whose syntax is close to Java
  • BoxLang, A modern, dynamically and loosely typed scripting language for multiple runtimes. For the Java Virtual Machine (JVM) giving Object-Oriented (OO), Functional Programming (FP) Constructs, and dynamic Metadata Programming (MP)
  • EPL (Event Processing Language), a domain-specific, data manipulation language for analyzing and detecting patterns in timed event streams, which extends SQL 92 with event-oriented features. It is implemented by Esper: up to version 6, EPL was mostly an interpreted language implemented by a Java library; since version 7, it is compiled to JVM bytecode.
  • Concurnas, an open source JVM language designed for building reliable, scalable, high-performance concurrent, distributed, and parallel systems.
  • Ceylon, a Java competitor from Red Hat[3]
  • ColdFusion Markup Language (CFML), a scripting language for web development that runs on the JVM, the .NET Framework, and Google App Engine.[25]
  • Quark Framework (CAL), a Haskell-inspired functional language
  • E-on-Java, an object-oriented language for secure distributed computing
  • Eta, pure, lazy, strongly typed functional language in the spirit of Haskell[26]
  • Fantom, a language built from the base to be portable across the JVM, .NET Common Language Runtime (CLR), and JavaScript[27][3]
  • Flix, a functional, imperative, and logic language with first-class Datalog constraints and a polymorphic effect system.
  • Flow Java
  • Fortress, a language designed by Sun as a successor to Fortran, mainly for parallel scientific computing. Oracle took over product development after its acquisition of Sun. Oracle then stopped development in 2012, according to Dr. Dobb's.
  • Frege, a non-strict, pure functional language in the spirit of Haskell[28]
  • Golo, a simple, dynamic, weakly typed language for the JVM developed at the Institut national des sciences appliquées de Lyon, France, now an incubating project at the Eclipse Software Foundation.[29][30][31]
  • Gosu, a precursor to Kotlin with an extensible type system
  • Haxe, a cross-platform statically typed language that targets Java and the JVM.
  • Ioke, a prototype-based language somewhat reminiscent of Io, with similarities to Ruby, Lisp, and Smalltalk
  • Jelly
  • Join Java, a language that extends Java with join-calculus semantics.
  • Joy
  • Manifold is not a separate language. It integrates with the Java compiler via the official javac plugin API and can be added as a dependency in existing Java projects. It brings static metaprogramming, type system extensions, properties, extension methods, operator overloading, named and optional arguments, and more.
  • Mirah, a customizable language featuring type inference and a highly Ruby-inspired syntax[32][33]
  • NetLogo, a multi-agent language
  • Noop, a language built with testability as a primary focus
  • Pizza, a superset of Java with function pointers and algebraic data types
  • Pnuts
  • Processing, a visualization and animation language and framework based on Java with a Java-like syntax
  • Prompto, a language "designed to create business applications in the cloud". It is part of the namesake platform to design business applications directly in the cloud. The Prompto language includes three "dialects": Engly, Monty, and Objy. Engly "mimics English as much as possible", Monty "tries to follow as much as possible the syntax of the Python 3 language", and Objy "tries to follow as much as possible the syntax of OOP languages such as C++, Java or C#". All three dialects seamlessly translate to one another.[34]
  • RascalMPL, a source and target language independent (parameterized) meta language
  • Whiley
  • X10, a language designed by IBM, featuring constrained types and a focus on concurrency and distribution[3]
  • Xtend, an object-oriented, functional, and imperative programming language built by the Eclipse foundation, featuring tight Java interoperability, with a focus on extension methods and lambdas, and rich tooling
  • Yeti, an ML-style functional language[35]
  • Yirgacheffe, a language that aims to simplify and extend the object-oriented paradigm.[36]
  • Yoix, general-purpose, non-object-oriented, interpreted dynamic language
  • ZoomBA, a dynamic, declarative, interpreted language.

Comparison of these languages

Language First release Stable release Last release
Ballerina 2018 2019 2024
BeanShell 1999 2013 2022
Eclipse Ceylon 2011 2017 2017
CFML 1995 2018 2025
E 1997 2016
Fantom 2011 2017 2024
Fortress 2006 2011 2011
Frege 2012 2018
Manifold 2019 2019 2023
Mirah 2016 2016
Xtend 2011 2021 2024

See also

Notes

  1. ^ [19][20][21] is a freeware IDE in beta-testing since 2009, with a partly open source [22] Jabaco framework runtime. Jabaco compiles VB 6 syntax source to JVM bytecode.

References

  1. ^ "TIOBE Index". TIOBE. Retrieved 22 February 2026.
  2. ^ "PYPL PopularitY of Programming Language index". pypl.github.io. Retrieved 22 February 2026.
  3. ^ a b c d e f Urma, Raoul-Gabriel (1 July 2014). "Alternative Languages for the JVM. A look at eight features from eight JVM languages". Oracle. Retrieved 13 March 2019.
  4. ^ Wampler, Dean (15 January 2009). "Adopting New JVM Languages in the Enterprise (Updated)". objectmentor.com. Archived from the original on 22 May 2009. Retrieved 18 June 2009.
  5. ^ Kolakowski, Nick (10 March 2021). "Groovy Springs Back Up TIOBE's Programming Languages List". Dice. Retrieved 10 March 2021.
  6. ^ "NTT Data Enterprise COBOL Brochure" (PDF).
  7. ^ "Visual COBOL Brochure" (PDF). Retrieved 5 April 2017.
  8. ^ "isCOBOL Evolve Datasheet" (PDF). Retrieved 17 May 2019.
  9. ^ Armed Bear Common Lisp
  10. ^ "New on Neo4j: The Neo4j 2.3.0 Milestone 2 Release Is Here". 12 June 2015. Retrieved 20 February 2017.
  11. ^ a b "Oracle Labs GraalVM: Programming Languages and Runtimes Overview". www.oracle.com. Retrieved 12 April 2018.
  12. ^ "graalvm/sulong". GitHub. Retrieved 12 April 2018.
  13. ^ "Introducing Quercus, a Java based PHP". IBM. Retrieved 2 July 2015.
  14. ^ "Running PHP With Quercus in Sun Java System Web Server". Retrieved 2 July 2015.
  15. ^ "ssllab / ZipPy — Bitbucket". bitbucket.org. Retrieved 12 April 2018.
  16. ^ "oracle/fastr". GitHub. Retrieved 12 April 2018.
  17. ^ "oracle/truffleruby". GitHub. Retrieved 12 April 2018.
  18. ^ "Redline Smalltalk". Archived from the original on 24 March 2021. Retrieved 2 September 2018.
  19. ^ "Jabaco entry at Mindteq.com Basics section". Retrieved 2 July 2015.]
  20. ^ "Article about Jabaco at German Pro-Linux publication". Retrieved 2 July 2015.]
  21. ^ "Basic meet Java". Retrieved 26 February 2015.
  22. ^ "Framework". Retrieved 26 February 2015.
  23. ^ "Ateji PX: Java Parallel Programming Made Simple". Ateji. Archived from the original on 24 February 2014. Retrieved 1 March 2014.
  24. ^ "Flexible, Powerful, Beautiful Integrations as Code with Ballerina". Ballerina. Retrieved 28 September 2024.
  25. ^ CFML, a scripting language compiled to Java, used on the ColdFusion or Railo application servers
  26. ^ "The Eta Programming Language". Retrieved 10 May 2017.
  27. ^ "Fantom Programming Language". Fantom. Retrieved 1 March 2014.
  28. ^ "Frege". Retrieved 16 March 2025.
  29. ^ "Oracle.com - Golo – A Lightweight Dynamic Language for the JVM". Archived from the original on 3 July 2015. Retrieved 2 July 2015.]
  30. ^ "Golo nominated for JAX Awards 2014". Retrieved 2 July 2015.]
  31. ^ "Golo entry at JAX Awards 2014". Retrieved 2 July 2015.]
  32. ^ "The Mirah Programming Language". GitHub. Retrieved 1 March 2014.
  33. ^ "Mirah". Retrieved 1 March 2014.
  34. ^ "The Prompto Platform". Retrieved 14 September 2019.
  35. ^ "Yeti programming language". Retrieved 5 May 2020.
  36. ^ "Yirgacheffe". Retrieved 9 January 2020.