JVM languages

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.

High-profile languages

Apart from the Java language itself, the most common or well-known JVM languages are:

JVM languages

JVM implementations of existing languages

Language Java implementations
AWK Jawk[2]
BASIC jScriptBasic is a Java implementation of the ScriptBasic language.
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 Veryant isCobol
ColdFusion Adobe ColdFusion
Open BlueDragon
Common Lisp Armed Bear Common Lisp[4]
Jatha Common Lisp Library
Component Pascal Gardens Point Component Pascal
Erlang Erjang[5]
Forth myForth[6]
Go jgo[7]
Haxe Haxe has had a Java target since version 2.10.[8]
JavaScript Rhino
Logo jLogo[9]
Lua Kahlua[11]
Yeti ML Yeti[14]
Oberon-2 Canterbury Oberon-2 for JVM
OCaml OCaml-Java[15]
Object Pascal Oxygene
Pascal Canterbury Pascal for JVM
Free Pascal
PHP IBM WebSphere sMash PHP (P8)[16]

Caucho Quercus[17]

Prolog JIProlog
Python Jython
R renjin
REXX NetRexx
Ruby JRuby
Scheme Bigloo
Tcl Jacl

New languages with JVM implementations

  • Alef++, a language inspired by Perl and Lisp.[19]
  • Ateji PX, an extension of Java for easy parallel programming on multicore, GPU, Grid and Cloud.[20]
  • 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.[21]
  • 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.[22]
  • 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.
  • Hecl.[23]
  • 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, statically typed programming language compiled to JVM byte code and JavaScript by Jetbrains
  • Jabaco, A BASIC-like GUI RAD language for Windows that uses the JVM.
  • Jaskell, a Haskell inspired scripting language.[24]
  • Jelly.
  • Join Java, a language that extends Java with the join semantics of the join-calculus.
  • Joy.
  • Judoscript.
  • Libretto. Dynamic general purpose object-oriented programming language.[25]
  • Mirah, a customizable language featuring type inference and a highly Ruby-inspired syntax.[26]
  • 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.[27]
  • 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.
  • Redline Smalltalk.[28]
  • Stab, a C# work-alike.[29]
  • Sleep, a procedural scripting language inspired by Perl and Objective-C.
  • V language has an implementation on the JVM.[30]
  • 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

See also


External links

  • A tutorial on how to create small programming language on the JVM.

pl:Lista języków wirtualnej maszyny Javy tr:BeanShell

This article was sourced from Creative Commons Attribution-ShareAlike License; additional terms may apply. World Heritage Encyclopedia content is assembled from numerous content providers, Open Access Publishing, and in compliance with The Fair Access to Science and Technology Research Act (FASTR), Wikimedia Foundation, Inc., Public Library of Science, The Encyclopedia of Life, Open Book Publishers (OBP), PubMed, U.S. National Library of Medicine, National Center for Biotechnology Information, U.S. National Library of Medicine, National Institutes of Health (NIH), U.S. Department of Health & Human Services, and USA.gov, which sources content from all federal, state, local, tribal, and territorial government publication portals (.gov, .mil, .edu). Funding for USA.gov and content contributors is made possible from the U.S. Congress, E-Government Act of 2002.
Crowd sourced content that is contributed to World Heritage Encyclopedia is peer reviewed and edited by our editorial staff to ensure quality scholarly research articles.
By using this site, you agree to the Terms of Use and Privacy Policy. World Heritage Encyclopedia™ is a registered trademark of the World Public Library Association, a non-profit organization.