Menu
Home Explore People Places Arts History Plants & Animals Science Life & Culture Technology
On this page
List of JVM languages
List article

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). Some of these languages are interpreted by a Java program, and some are compiled to Java bytecode and just-in-time (JIT) compiled during execution as regular Java programs to improve performance.

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

JVM languages

High-profile languages

As of 2024, according to the TIOBE index1 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 top 20 and have JVM implementations; Ruby is ranked 18th, while JRuby, its JVM implementation is not listed separately.

JVM implementations of existing languages

LanguageJVM implementations
Gojgo
Arden syntaxArden2ByteCode
COBOLNTT Data Enterprise COBOL8

Micro Focus Visual COBOL9Heirloom Elastic COBOL Veryant isCOBOL Evolve10

ColdFusion Markup Language (CFML)Adobe ColdFusionRailoLuceeOpen BlueDragon
Common LispArmed Bear Common Lisp11
CypherNeo4j12
HaskellEta (programming language)
JavaScriptRhinoNashorn

Graal.js13

LLVM BitcodeSulong14
MercuryMercury (Java grade)
OCamlOCaml-Java
Component PascalGardens Point Component Pascal
PascalMIDletPascalOxygene
RakuRakudo
PHPQuercus1516 JPHP
PrologJIPrologTuProlog
PythonJython

ZipPy17Graal.Python18

RRenjin

FastR19

RexxNetRexx
RubyJRubyTruffleRuby20
SchemeBiglooKawaSISCJScheme
SimulaOpen Source Simula
SmalltalkRedline21
Standard MLMLj
TclJacl
Visual BasicJabaco22

New languages with JVM implementations

  • Ateji PX, an extension of Java for easy parallel programming on multicore, GPU, Grid and Cloud23
  • Ballerina, a language for cloud applications with structural typing; network client objects, services, resource functions, and listeners; parallel concurrency with workers; image building; configuration management.24
  • BeanShell, a scripting language whose syntax is close to Java
  • 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 a language interpreted 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 Hat25
  • CFML, ColdFusion Markup Language, more commonly known as CFML, is a scripting language for web development that runs on the JVM, the .NET framework, and Google App Engine.26
  • Quark Framework (CAL), a Haskell-inspired functional language
  • E-on-Java, object-oriented language for secure distributed computing
  • Eta, pure, lazy, strongly typed functional language in the spirit of Haskell27
  • Fantom, a language built from the base to be portable across the JVM, .NET Common Language Runtime (CLR), and JavaScript2829
  • 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. Product development was taken over by Oracle when Sun was purchased. Oracle then stopped development in 2012 according to Dr. Dobb's.
  • Frege, a non-strict, pure functional language in the spirit of Haskell30
  • Golo, a simple, dynamic, weakly-typed language for the JVM developed at Institut national des sciences appliquées de Lyon, France, now an incubating project at the Eclipse Software Foundation.313233
  • Gosu, an extensible type-system language compiled to Java bytecode
  • 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 a Java compiler "plugin." (I.e., instead of being a stand-alone language and compiler, it hijacks and extends javac.) Its features include Metaprogramming, Properties, Extension Methods, Operator Overloading, Templates, a Preprocessor, and more.
  • Mirah, a customizable language featuring type inference and a highly Ruby-inspired syntax3435
  • NetLogo, a multi-agent language
  • Noop, a language built with testability as a major 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.36
  • 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 distribution37
  • 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 language38
  • Yirgacheffe, a language that aims to simplify and extend the object oriented paradigm.39
  • Yoix, general purpose, non-object-oriented, interpreted dynamic language

Comparison of these languages

LanguageFirst releaseStable releaseLast release
Ballerina201820192024
BeanShell199920132022
Eclipse Ceylon201120172017
CFML199520182025
E19972016
Fantom201120172024
Fortress200620112011
Frege20122018
Manifold201920192023
Mirah20162016
Xtend201120212024

See also

  • Computer programming portal

Notes

References

  1. "TIOBE Index". TIOBE. Retrieved 4 November 2024. https://www.tiobe.com/tiobe-index/

  2. "PYPL PopularitY of Programming Language index". pypl.github.io. Retrieved 4 November 2024. https://pypl.github.io/PYPL.html

  3. 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. https://www.oracle.com/technetwork/articles/java/architect-languages-2266279.html

  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. https://web.archive.org/web/20090522071822/http://blog.objectmentor.com/articles/2009/01/15/adopting-new-jvm-languages-in-the-enterprise

  5. 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. https://www.oracle.com/technetwork/articles/java/architect-languages-2266279.html

  6. "Groovy Springs Back Up TIOBE's Programming Languages List". Retrieved 10 March 2021. https://www.dice.com/career-advice/groovy-springs-back-up-tiobes-programming-languages-list

  7. 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. https://www.oracle.com/technetwork/articles/java/architect-languages-2266279.html

  8. "NTT Data Enterprise COBOL Brochure" (PDF). https://mx.nttdata.com/es/-/media/assets/brochure/apps-rehosting-migrate-your-cobol-applications-factsheet.pdf

  9. "Visual COBOL Brochure" (PDF). Retrieved 5 April 2017. https://www.microfocus.com/media/brochure/visual_cobol_brochure.pdf

  10. "isCOBOL Evolve Datasheet" (PDF). Retrieved 17 May 2019. http://www.veryant.com/resources/isCOBOL-Evolve-datasheet.pdf

  11. Armed Bear Common Lisp http://abcl.org/

  12. "New on Neo4j: The Neo4j 2.3.0 Milestone 2 Release Is Here". 12 June 2015. Retrieved 20 February 2017. https://neo4j.com/blog/new-on-neo4j-the-neo4j-2-3-0-milestone-2-release-is-here/

  13. "Oracle Labs GraalVM: Programming Languages and Runtimes Overview". www.oracle.com. Retrieved 12 April 2018. http://www.oracle.com/technetwork/oracle-labs/program-languages/overview/index.html

  14. "graalvm/sulong". GitHub. Retrieved 12 April 2018. https://github.com/graalvm/sulong

  15. "Introducing Quercus, a Java based PHP". IBM. Retrieved 2 July 2015. http://www.ibm.com/developerworks/library/wa-quercus/

  16. "Running PHP With Quercus in Sun Java System Web Server". Retrieved 2 July 2015. http://www.oracle.com/technetwork/java/quercus-php-137710.html

  17. "ssllab / ZipPy — Bitbucket". bitbucket.org. Retrieved 12 April 2018. https://bitbucket.org/ssllab/zippy

  18. "Oracle Labs GraalVM: Programming Languages and Runtimes Overview". www.oracle.com. Retrieved 12 April 2018. http://www.oracle.com/technetwork/oracle-labs/program-languages/overview/index.html

  19. "oracle/fastr". GitHub. Retrieved 12 April 2018. https://github.com/oracle/fastr

  20. "oracle/truffleruby". GitHub. Retrieved 12 April 2018. https://github.com/oracle/truffleruby/

  21. "Redline Smalltalk". Archived from the original on 24 March 2021. Retrieved 2 September 2018. https://web.archive.org/web/20210324032311/http://www.redline.st/

  22. [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 Java bytecode.

  23. "Ateji PX: Java Parallel Programming Made Simple". Ateji. Archived from the original on 24 February 2014. Retrieved 1 March 2014. https://web.archive.org/web/20140224011700/http://www.ateji.com/px/index.html

  24. "Flexible, Powerful, Beautiful Integrations as Code with Ballerina". Ballerina. Retrieved 28 September 2024. https://ballerina.io/

  25. 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. https://www.oracle.com/technetwork/articles/java/architect-languages-2266279.html

  26. CFML, a scripting language compiled to Java, used on the ColdFusion or Railo application servers /wiki/CFML

  27. "The Eta Programming Language". Retrieved 10 May 2017. http://eta-lang.org/

  28. "Fantom Programming Language". Fantom. Retrieved 1 March 2014. http://fantom.org/

  29. 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. https://www.oracle.com/technetwork/articles/java/architect-languages-2266279.html

  30. "Frege". Retrieved 16 March 2025. https://github.com/Frege/frege

  31. "Oracle.com - Golo – A Lightweight Dynamic Language for the JVM". Archived from the original on 3 July 2015. Retrieved 2 July 2015.] https://web.archive.org/web/20150703100856/https://blogs.oracle.com/java/entry/golo_a_lightweight_dynamic_language

  32. "Golo nominated for JAX Awards 2014". Retrieved 2 July 2015.] https://jax.de/awards2014/nominees

  33. "Golo entry at JAX Awards 2014". Retrieved 2 July 2015.] https://jax.de/awards2014/golo-programming-language

  34. "The Mirah Programming Language". GitHub. Retrieved 1 March 2014. https://github.com/mirah/mirah

  35. "Mirah". Retrieved 1 March 2014. http://www.mirah.org/

  36. "The Prompto Platform". Retrieved 14 September 2019. http://www.prompto.org/

  37. 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. https://www.oracle.com/technetwork/articles/java/architect-languages-2266279.html

  38. "Yeti programming language". Retrieved 5 May 2020. http://mth.github.io/yeti/

  39. "Yirgacheffe". Retrieved 9 January 2020. https://yirgacheffelang.com