No Programming, No Life

プログラミング関連の話題や雑記

JVM上で動くプログラミング言語のまとめ

※当記事はNAVERまとめに移行しました。(2012-04-14)
今後はNAVERまとめの方でメンテしてゆきますので、
よろしくお願いします。


JVM (Java Virtual Machine)上で動くプログラミング言語が増えてきたのでここらへんでまとめて行きたいと思います。新しいのを見つけ次第追加して行きます。
こんなのもあるよ!といった情報は大歓迎です。コメントかはてブコメントにてよろしくお願いします。

JVM上で動くプログラミング言語一覧 ※はてブエントリ数順*1

No. 言語名 Wikipedia 説明
1 Scala
(ja,en) オブジェクト指向+関数型のハイブリット言語。TwitterFacebookなどもバックボーンにScalaが使われている。
2 Noop
(ja,en) Noop (発音 /ˈnoʊ.ɒp/) は新しいプログラミング言語を開発することを意図するGoogle社の新しいプログラミング言語である。 Noopは古い言語と新しい言語の最もよい特徴の組合を試みる言語である。 NoopがターゲットとするプラットフォームはJava仮想マシンである。
3 Clojure
(ja,en) LISP系の言語の方言の一つ。関数型プログラミングのプログラミングスタイルでのインタラクティブな開発を支援し、マルチスレッドプログラムの開発を容易化する汎用言語。.NET共通言語ランタイムでも動作する。
4 Groovy
(ja,en) Groovy(グルービー)は、Javaプラットフォーム (Java仮想マシンJVM) 上で動作するアジャイル動的言語である。
5 Rhino
(ja,en) オープンソースで開発されているJavaScriptの実装。
6 Mirah Mirah (nee Duby) is a new experimental language born out of the JRuby project.In order to make implementing Ruby on the JVM easier and more approachable for Java and Ruby developers alike.
7 FreeMarker
(en) FreeMarker is a "template engine"; a generic tool to generate text output (anything from HTML to autogenerated source code) based on templates. It's a Java package, a class library for Java programmers.It's not an application for end-users in itself, but something that programmers can embed into their products.
8 Kotlin
"Project Kotlin" is the codename for a statically-typedJVM-targeted programming language developed by JetBrainsand intended for industrial use.
9 Quercus Quercus is Caucho Technology's 100% Java implementation of PHP 5 released under the Open Source GPL license.
10 Apache Velocity
(ja,en) Velocity is a project of the Apache Software Foundation, charged with the creation and maintenance of open-source software related to the Apache Velocity Engine .All software created at the Velocity project is available under the Apache Software License and free of charge for the public.
11 JavaFX
(ja,en) JavaFXとはJava上で動作するRIAプラットフォームであり様々な環境で動作するアプリケーションを作成することができる。
12 Jaskell Jaskell is a lazy functional scripting language for Java. It features higher-order function,function currying, string interpolation, lazy evaluation, monad, dynamic typing,simple syntax and semantics etc.
13 Kawa
(en) Kawa is a framework written in Java for implementing high-level and dynamic languages, compiling them into Java bytecodes.Kawa is an implementation of Scheme, which is in the Lisp family of programming languages. Implementations of other programming languages, including XQuery (Qexo) and Emacs Lisp (JEmacs).
14 Jython
(ja,en) PythonJava実装。
15 JRuby
(ja,en) RubyJava実装。
16 BeanShell
(en) Lightweight Scripting for Java
17 Fortress
(en) 大規模な科学技術計算と並列計算用に設計されたプログラミング言語。Sun社内のリサーチグループにより、JavaFortranなど既存の言語を参考に。'
18 Ioke
(en) プロトタイプベースの言語。
19 Nice (en) Nice is an advanced object-oriented programming language.
20 Gosu
(en) Gosu is an imperative statically-typed object-oriented programming language that is designed to be expressive, easy-to-read, and reasonably fast.
21 RingoJS
(ja,en) RingoJS is a JavaScript runtime written in Java,based on the Mozilla Rhino JavaScript engine.It is geared to web applications,but can be used for command line or even GUI applications as well.
22 Jasmin
(en) Jasmin is an assembler for the Java Virtual Machine.It takes ASCII descriptions of Java classes, written in a simple assembler-like syntax using the Java Virtual Machine instruction set.It converts them into binary Java class files, suitable for loading by a Java runtime system.
23 SISC (en) SISC is an extensible Java based interpreter of the algorithmic language Scheme.
24 Fantom
(ja,en) 汎用のオブジェクト指向言語で、.NET共通言語ランタイム、JavaScript処理系でも動作する。クロージャーによって関数型プログラミングをサポートし、アクターモデルによって並行コンピューティングをサポートし、型システムは静的型付けと動的型付けの両方の特徴を兼ね備えている。
25 Pnuts
(en) Pnuts is a script language for Java environment. It enables interaction with Java environment, simple Web scripting, customization for Java programs, and so on.
26 Jawk Jawk is the implementation of AWK in Java. Jawk parses,analyzes, and interprets and/or compiles AWK scripts.Compilation is targetted for the JVM.
27 OGNL (en) OGNL stands for Object-Graph Navigation Language; it is an expression language for getting and setting properties of Java objects. You use the same expression for both getting and setting the value of a property.
28 renjin
JavaによるRの実装。
29 OCaml-Java The goal of the OCaml-Java project is to allow seamless integration of Objective Caml and Java.
30 Sleep
Sleep is a multi-paradigm scripting language for the Java Platform.Easy to learn with Perl and Objective-C inspired syntax.
31 Erjang Erjang is a virtual machine for Erlang.
32 Kahlua
Kahlua is a Virtual Machine together with a standard library, all implemented in Java. It tries to emulate Lua as much as possible, while still reusing as much as possible from Java.
33 Jelly
(en) Jelly is a tool for turning XML into executable code. So Jelly is a Java and XML based scripting and processing engine. Jelly can be used as a more flexible and powerful front end to Ant.
34 Judoscript
(en) The Judo language is the key technology hosted herein.You can find the latest software, news, the most current documentation, sample code and tutorials.
35 jacl
(en) JavaによるTclの実装。
36 JUEL
(en) JUEL is an implementation of the Unified Expression Language (EL)
37 Jep Java Jep is a Java library for parsing and evaluating mathematical expressions. With this package you can allow your users to enter an arbitrary formula as a string, and instantly evaluate it. Jep supports user defined variables, constants, and functions. A number of common mathematical functions and constants are included.
38 isCOBOL
The COBOL for Java platforms. なんか製品っぽいんだがよくわからない。情報求む。
39 Jamaica
(en) Jamaica, the JVM Macro Assembler, is an easy-to-learn and easy-to-use assembly language for JVM bytecode programming.

更新履歴

  • 2011-08-25 Judoscript, Jamaica, Jasmin を追加。
  • 2011-07-21 Kotlin を追加。
  • 2011-04-20 RingoJS を追加。
  • 2011-02-28 Noop, Kawa を追加。
  • 2011-02-23 renjin を追加。
  • 2010-11-14 Gosu を追加。
  • 2010-10-29 Mirah を追加。
  • 2010-10-25 Pnuts, Jelly, JUEL, OGNL, FreeMarker, Jep Java, Apache Velocity を追加。ErjangのURL修正。
  • 2010-10-24 JavaFX を追加。
  • 2010-10-23 isCOBOL, Kahlua, OCaml-Java, Quercus を追加。
  • 2010-10-20 参考にリンクを追加。Fortress, Erjang を追加。
  • 2010-10-18 参考にリンクを追加。Jawk, BeanShell, Jaskell, SISC, Sleep, jacl を追加。
  • 2010-10-17 新規作成

*1:手動です。時々見直します。