List of JVM languages
Appearance
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 JITted 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.
High-profile languages
Apart from the Java language itself, the most common or well-known JVM languages are:
- Clojure, a functional Lisp dialect
- Groovy, a scripting language
- Scala, an object-oriented and functional programming language[1]
- JavaFX Script, a scripting language targeting the Rich Internet Application domain (discontinued 2010)
- JRuby, an implementation of Ruby
- Jython, an implementation of Python
- Rhino, an implementation of JavaScript
- AspectJ, an aspect-oriented extension of Java
- Ceylon: an upcoming programming language and SDK, created by Red Hat.
- Fantom: a general purpose object-oriented programming language that runs on the Java Runtime Environment (JRE), JavaScript, and the .NET Common Language Runtime (CLR)
- Gosu: is a general-purpose Java Virtual Machine-based programming language released under the Apache License 2.0.
- Kotlin: developed by JetBrains
JVM languages
JVM implementations of existing languages
Language | Java implementations |
---|---|
Ada | JGNAT |
AWK | Jawk[2] |
BBx | BBj is a superset of BBx, PRO/5, and Visual PRO/5. |
Boo | Boojay is the Boo variant for the Java Platform |
C | C to Java Virtual Machine compilers[3] |
COBOL | Elastic COBOL |
ColdFusion | Adobe ColdFusion Railo Open BlueDragon |
Common Lisp | Armed Bear Common Lisp[4] CLforJava Jatha Common Lisp Library |
Component Pascal | Gardens Point Component Pascal |
Erlang | Erjang[5] |
Forth | myForth[6] |
JavaScript | Rhino |
Logo | jLogo[7] XLogo[8] |
Lua | Kahlua[9] Luaj[10] Jill[11] |
Oberon-2 | Canterbury Oberon-2 for JVM JOB |
OCaml | OCaml-Java[12] |
Object Pascal | Oxygene |
Pascal | Canterbury Pascal for JVM Free Pascal MIDletPascal |
PHP | IBM WebSphere sMash PHP (P8)[13] Caucho Quercus[14] |
Python | Jython |
REXX | NetRexx |
Ruby | JRuby |
Scheme | Bigloo Kawa SISC JScheme |
Tcl | Jacl JTcl[15] |
New languages with JVM implementations
- Alef++, a language inspired by Perl and Lisp.[16]
- Ateji PX, an extension of Java for easy parallel programming on multicore, GPU, Grid and Cloud.[17]
- 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.
- Fantom, a language built from the base to be portable across the JVM, .NET CLR, and JavaScript.[18]
- Flow Java.
- Fortress, a language designed by Sun as a successor to Fortran, mainly for parallel scientific computing.
- Frink, a language that tracks units of measure through calculations.
- Gosu (programming language), an extensible type-system language compiled to Java bytecode.
- Hecl.[19]
- Ioke, a prototype-based language somewhat reminiscent of Io, with similarities to Ruby, Lisp and Smalltalk.
- KBML, an expert system DSL for defining correlation rules and event processing. Used by products based on the OpenKBM platform.
- Kotlin (programming language) invented by Jetbrains
- Jabaco, A BASIC-like GUI RAD language for Windows that uses the JVM.
- Jaskell, a Haskell inspired scripting language.[20]
- Jelly.
- Join Java, a language that extends Java with the join semantics of the join-calculus.
- Joy.
- Judoscript.
- Mirah, a customizable language featuring type inference and a highly Ruby-inspired syntax.[21]
- N.A.M.E. Basic.
- NetLogo, a multi-agent language.
- Nice.
- Noop, a language built with testability as a major focus.
- ObjectScript.
- PHP.reboot, a PHP-style language.[22]
- Pizza, a superset of Java with function pointers and algebraic data types.
- Pnuts.
- Stab, a C# work-alike.[23]
- Sleep, a procedural scripting language inspired by Perl and Objective-C.
- V language has an implementation on the JVM.[24]
- X10, a IBM language designed for high-performance heteregenous clusters and parallel scientific computations. The syntax is based on Java. An optimizing compiler targets JVM or C++.
- Yeti, a ML style functional language, that runs on the JVM.[25]
See also
References
- ^ Wampler, Dean (2009-01-15). "Adopting New JVM Languages in the Enterprise (Updated)". objectmentor.com. Retrieved 2009-06-18.
- ^ Jawk source forge project
- ^ see for example AMPC project
- ^ ABCL project
- ^ [1]
- ^ myForth project
- ^ JavaLogo project
- ^ XLogo project
- ^ Kahlua project
- ^ Luaj
- ^ Jill
- ^ OCaml-Java project
- ^ IBM WebSphere sMash PHP project
- ^ Caucho Quercus project
- ^ JTcl
- ^ Alef++ home page
- ^ Ateji PX homepage
- ^ Fantom homepage
- ^ Hecl home page
- ^ Jaskell project
- ^ Mirah homepage
- ^ PHP.reboot project
- ^ Stab homepage
- ^ V homepage
- ^ Yeti homepage