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 JIT-compiled during execution as regular Java programs to improve performance.

The JVM was initially designed to support only the programming language Java. However, as time passed, even more languages were adapted or designed to run on the Java platform.

JVM languages

High-profile languages

As of September 2022, according to the TIOBE Index[1] of the top 100 programming languages, the top JVM languages are:

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

JVM implementations of existing languages

Language JVM implementations
Golang jgo
Arden Syntax Arden2ByteCode
COBOL NTT Data Enterprise COBOL[4]

Micro Focus Visual COBOL[5]
Heirloom Elastic COBOL
Veryant isCOBOL Evolve[6]

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

Graal.js[9]

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

ZipPy[13] Graal.Python[9]

R Renjin

FastR[14]

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

New languages with JVM implementations

Comparison of these languages

Language First release Stable release Last release
Ballerina 2018 2019 2020
BeanShell 1999 2013 2016
Eclipse Ceylon 2011 2017 2017
CFML 1995 2018 2018
Quark Framework 2011 2018
E 1997
Fantom 2011 2017
Fortress 2006 2011 2017
Frege
Mirah 2016
Xtend 2011 2021

See also

Notes

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

References

  1. ^ "TIOBE Index for September 2022 | TIOBE - The Software Quality Company". www.tiobe.com. Retrieved 26 September 2022.
  2. ^ 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.
  3. ^ a b c d e f Raoul-Gabriel Urma (1 July 2014). "Alternative Languages for the JVM. A look at eight features from eight JVM languages". oracle.com. Retrieved 13 March 2019.
  4. ^ "NTT Data Enterprise COBOL Brochure" (PDF).
  5. ^ "Visual COBOL Brochure" (PDF). Retrieved 5 April 2017.
  6. ^ "isCOBOL Evolve Datasheet" (PDF). Retrieved 17 May 2019.
  7. ^ Armed Bear Common Lisp
  8. ^ "New on Neo4j: The Neo4j 2.3.0 Milestone 2 Release Is Here". 12 June 2015. Retrieved 20 February 2017.
  9. ^ a b "Oracle Labs GraalVM: Programming Languages and Runtimes Overview". www.oracle.com. Retrieved 12 April 2018.
  10. ^ "graalvm/sulong". GitHub. Retrieved 12 April 2018.
  11. ^ "Introducing Quercus, a Java based PHP". Retrieved 2 July 2015.
  12. ^ "Running PHP With Quercus in Sun Java System Web Server". Retrieved 2 July 2015.
  13. ^ "ssllab / ZipPy — Bitbucket". bitbucket.org. Retrieved 12 April 2018.
  14. ^ "oracle/fastr". GitHub. Retrieved 12 April 2018.
  15. ^ "oracle/truffleruby". GitHub. Retrieved 12 April 2018.
  16. ^ "Redline Smalltalk". Retrieved 2 September 2018.
  17. ^ "Jabaco entry at Mindteq.com Basics section". Retrieved 2 July 2015.]
  18. ^ "Article about Jabaco at German Pro-Linux publication". Retrieved 2 July 2015.]
  19. ^ "Basic meet Java". Retrieved 26 February 2015.
  20. ^ "Framework". Retrieved 26 February 2015.
  21. ^ "Ateji PX: Java Parallel Programming Made Simple". Ateji. Archived from the original on 24 February 2014. Retrieved 1 March 2014.
  22. ^ "Announcing Ballerina 1.0". Ballerina. Retrieved 8 February 2020.
  23. ^ CFML, a scripting language compiled to Java, used on the ColdFusion or Railo application servers
  24. ^ "The Eta Programming Language". Retrieved 10 May 2017.
  25. ^ "Fantom Programming Language". Fantom. Retrieved 1 March 2014.
  26. ^ "Frege". Retrieved 1 March 2014.
  27. ^ "Oracle.com - Golo – A Lightweight Dynamic Language for the JVM". Archived from the original on 3 July 2015. Retrieved 2 July 2015.]
  28. ^ "Golo nominated for JAX Awards 2014". Retrieved 2 July 2015.]
  29. ^ "Golo entry at JAX Awards 2014". Retrieved 2 July 2015.]
  30. ^ "The Mirah Programming Language". GitHub. Retrieved 1 March 2014.
  31. ^ "Mirah". Retrieved 1 March 2014.
  32. ^ "The Prompto Platform". Retrieved 14 September 2019.
  33. ^ "Yeti programming language". Retrieved 5 May 2020.
  34. ^ "Yirgacheffe". Retrieved 9 January 2020.