This list of JVM Languages comprises computer programming languages that are used to produce 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 Java programming language. However, as time passed, ever more languages were adapted or designed to run on the Java platform.
Apart from the Java language itself, the most common or well-known JVM languages are:
JVM implementations of existing languages
New languages with JVM implementations
- Alef++, a language inspired by Perl and Lisp.
- Ateji PX, an extension of Java for easy parallel programming on multicore, GPU, Grid and Cloud.
- BBj, an object-oriented language for business applications
- BeanShell, a scripting language whose syntax is close to Java.
- Ceylon, an upcoming Red Hat's Java competitor
- ColdFusion, a scripting language compiled to Java, used on the ColdFusion application Server
- CAL, a Haskell-inspired functional language.
- E language has an implementation on the JVM.
- Flow Java.
- Fortress, a language designed by Sun as a successor to Fortran, mainly for parallel scientific computing.
- Frege, a non-strict, pure functional programming language in the spirit of Haskell.
- Frink, a language that tracks units of measure through calculations.
- Golo, a post-Java 7 dynamically typed language based on invokedynamic.
- Gosu, an extensible type-system language compiled to Java bytecode.
- Ioke, a prototype-based language somewhat reminiscent of Io, with similarities to Ruby, Lisp and Smalltalk.
- Jabaco, A BASIC-like GUI RAD language for Windows that uses the JVM.
- Jaskell, a Haskell inspired scripting language.
- Join Java, a language that extends Java with the join semantics of the join-calculus.
- KBML, an expert system DSL for defining correlation rules and event processing. Used by products based on the OpenKBM platform.
- Libretto. Dynamic general purpose object-oriented programming language.
- Mirah, a customizable language featuring type inference and a highly Ruby-inspired syntax.
- N.A.M.E. Basic.
- NetLogo, a multi-agent language.
- Noop, a language built with testability as a major focus.
- PHP.reboot, a PHP-style language.
- Pizza, a superset of Java with function pointers and algebraic data types.
- Processing, a visualization and animation language and framework based on Java with a Java-like syntax.
- Redline Smalltalk.
- Stab, a C# work-alike.
- Sleep, a procedural scripting language inspired by Perl and Objective-C.
- V language has an implementation on the JVM.
- X10, a language designed by IBM, featuring constrained types and a focus on concurrency and distribution.
- Xtend, an object-oriented, functional, and imperative programming language built by the Eclipse foundation, featuring very tight Java interoperability, with a focus on extension methods and lambdas, and rich tooling
- Zest, an experimental security scripting language from Mozilla.