List of JVM languages
From Wikipedia, the free encyclopedia
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.
Contents |
High-profile languages [edit]
Apart from the Java language itself, the most common or well-known JVM languages are:
- Clojure, a functional Lisp dialect
- Processing, a visualization and animation language and framework based on Java with a Java-like syntax.
- Groovy, a scripting language
- Scala, an object-oriented and functional programming language[1]
- JRuby, an implementation of Ruby
- Jython, an implementation of Python
- Rhino, an implementation of JavaScript
JVM languages [edit]
JVM implementations of existing languages [edit]
| Language | Java implementations |
|---|---|
| Ada | JGNAT |
| 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 | Elastic COBOL Micro Focus Visual COBOL Veryant isCobol |
| 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] |
| Go | jgo[7] |
| JavaScript | Rhino Nashorn |
| Logo | jLogo[8] XLogo[9] |
| Lua | Kahlua[10] Luaj[11] Jill[12] |
| Oberon-2 | Canterbury Oberon-2 for JVM JOB |
| OCaml | OCaml-Java[13] |
| Object Pascal | Oxygene |
| Pascal | Canterbury Pascal for JVM Free Pascal MIDletPascal |
| PHP | IBM WebSphere sMash PHP (P8)[14] Caucho Quercus[15] |
| Prolog | JIProlog Jekejeke Prolog JLog TuProlog Jinniprolog |
| Python | Jython |
| R | renjin |
| REXX | NetRexx |
| Ruby | JRuby |
| Scheme | Bigloo Kawa SISC JScheme |
| Tcl | Jacl JTcl[16] |
New languages with JVM implementations [edit]
- Alef++, a language inspired by Perl and Lisp.[17]
- Ateji PX, an extension of Java for easy parallel programming on multicore, GPU, Grid and Cloud.[18]
- 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.[19]
- 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.[20]
- Frink, a language that tracks units of measure through calculations.
- Gosu, an extensible type-system language compiled to Java bytecode.
- Hecl.[21]
- 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.[22]
- 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.[23]
- Mirah, a customizable language featuring type inference and a highly Ruby-inspired syntax.[24]
- 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.[25]
- Pizza, a superset of Java with function pointers and algebraic data types.
- Pnuts.
- Redline Smalltalk.[26]
- Stab, a C# work-alike.[27]
- Sleep, a procedural scripting language inspired by Perl and Objective-C.
- V language has an implementation on the JVM.[28]
- Xtend, a language built by the Eclipse foundation, featuring very tight Java interoperability, with a focus on extension methods and lambdas, and rich tooling
- X10, a language designed by IBM, featuring constrained types and a focus on concurrency and distribution.
- Yeti, a ML style functional language, that runs on the JVM.[29]
See also [edit]
References [edit]
- ^ 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
- ^ jgo 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
- ^ Frege homepage
- ^ Hecl home page
- ^ Jaskell project
- ^ Libretto programming language web page
- ^ Mirah homepage
- ^ PHP.reboot project
- ^ Redline Smalltalk website
- ^ Stab homepage
- ^ V homepage
- ^ Yeti homepage
External links [edit]
|
|||||||||||||||||||||||||