JVM languages
From Wikipedia, the free encyclopedia
JVM Languages are computer programming languages that are used to produce libraries and programs that run on the Java Virtual Machine. 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.
Contrary to the .NET Framework, the JVM was initially designed to support only the Java programming language. However, as time passed, more and more languages were designed to run on the Java platform.
Contents |
[edit] JVM languages
Apart from the Java language itself, The most common JVM languages are:
- JRuby, An implementation of the Ruby programming language.
- Jython, an implementation of the Python programming language,
- Rhino, an implementation of the JavaScript programming language,
- Groovy, a scripting language,
- Scala, a functional programming language,
Other JVM languages include:
- BeanShell, a scripting language,
- JavaFX Script, a scripting language targeting the Rich Internet Application domain,
- Sleep, a procedural scripting language inspired by Perl and Objective-C
- Java Tcl, an implementation of the Tcl scripting language,
- Armed Bear Common Lisp and CLforJava, two implementations of Common Lisp,
- Kawa and SISC, two implementations of the programming language Scheme,
- AspectJ, Java with aspect oriented-programming
- Pizza, a superset of Java with Function pointers and Algebraic types,
- NetRexx, implementation of the Rexx programming language,
- JoyJ, an interpreter for the functional programming language Joy,
- Yoix, a general purpose scripting language developed by researchers at AT&T Labs,
- The JVM implementation of the V programming language,
- The JVM implementation of the E programming language,
- Nice,
- JBasic, an implementation of the BASIC language,
- JLog, a Prolog interpreter,
- Talks2, an implementation of Smalltalk,
- Judoscript,
- Clojure,
- CAL, a Haskell-inspired functional programming language,
- Yeti, a functional programming language.
[edit] Support for dynamic Languages
- See also: Da Vinci Machine
The Java Virtual Machine has currently no built-in support for Dynamically typed languages:
- The existing JVM instruction set is statically typed[1],
- JVM has a limited support for dynamically modifying existing classes and methods. It currently only works in a debugging environment.
Built-in support for dynamic languages is currently planned for Java 7[2].

