---
title: 'Alternative Sprachen für die und auf der JVM'
url: 'https://www.tutego.de/blog/javainsel/2008/03/alternative-sprachen-fur-die-und-auf-der-jvm'
markdown: 'https://www.tutego.de/blog/javainsel/2008/03/alternative-sprachen-fur-die-und-auf-der-jvm.md'
date: '2008-03-05'
description: 'Java hat seine Monopolstellung eingebüßt – die hochoptimierte JVM und die umfangreichen Java-Bibliotheken lassen sich mittlerweile durch alternative Programmiersprachen nutzen. Auf der einen Seite existieren klassische Interpreter und Compiler für existierende Sprachen, wie Ruby, Prolog, LISP, BASI…'
taxonomy:
  category:
    - Allgemein
---

# Alternative Sprachen für die und auf der JVM

![Illustration einer tropischen Insel mit Palmen und einem hohen Berg](https://www.tutego.de/blog/javainsel/user/themes/tutego/images/insel-cover.jpg)# Java Blog für Programmierer

[Java Blog für Programmierer](https://www.tutego.de/blog/javainsel/)

## Alternative Sprachen für die und auf der JVM

05.03.2008 · [Christian Ullenboom](https://www.tutego.de/blog/javainsel/author/admin/)

Java hat seine Monopolstellung eingebüßt – die hochoptimierte JVM und die umfangreichen Java-Bibliotheken lassen sich mittlerweile durch alternative Programmiersprachen nutzen. Auf der einen Seite existieren klassische Interpreter und Compiler für existierende Sprachen, wie Ruby, Prolog, LISP, BASIC, Python, die bestmöglich auf die Java-Umgebung portiert werden. Auf der anderen Seite sind es ganz neue Programmiersprachen (wie Groovy), die sich als echte Alternative zur Programmiersprache Java etablieren. Skriptsprachen werden oft über die [JSR 223: Scripting for the Java Platform](http://www.jcp.org/en/jsr/detail), einer standardisierten API, angesprochen.

#### JavaScript

Seit Java 6 ist über [Rhino](http://www.mozilla.org/rhino/) – ein Projekt der Mozilla Foundation – eine JavaScript-Laufzeitumgebung integriert. Die Script-Engine erlaubt die dynamische Übersetzung in Bytecode, was schnelle Ausführungszeiten der prozeduralen, funktionalen, objektorientierten Programmiersprache garantiert.

#### Groovy

![[Logo]](http://media.xircles.codehaus.org/_projects/groovy/_logos/small.png)[Groovy](http://groovy.codehaus.org/) bietet eine starke Syntax mit Closures, Listen/Mengen, Reguläre Ausdrücke, eine dynamische und statische Typisierung und vielem mehr. Moderne IDEs wie [Eclipse](http://groovy.codehaus.org/Eclipse+Plugin) oder [NetBeans](http://groovy.codehaus.org/NetBeans+Plugin) unterstützen Groovy durch Plugins. Der Groovy-Compiler erzeugt für die Groovy-Klassen den typischen Bytecode, sodass normale Java-Klassen problemlos Groovy-Klassen nutzen können – oder umgekehrt. Zwei Vorträge zum Einlesen:

- [Groovy Tutorial ](http://www.asert.com/pubs/Groovy/Groovy.pdf)(104 Folien)
- [Von Java zu Groovy](http://www.slideshare.net/jlink/von-java-zu-groovy). W-JAX Workshop (66 Folien)

#### JRuby

![[Logo]](http://media.xircles.codehaus.org/_projects/jruby/_logos/small.png)[JRuby](http://jruby.codehaus.org/) ist die Java-Version der dynamisch getypten Programmiersprache [Ruby](http://www.ruby-lang.org/). Sun beschäftigt mit Charles Nutter und Thomas Enebo (die ›JRuby Guys‹) zwei Entwickler, und bringt auch mit der Integration in die [NetBeans IDE](http://wiki.netbeans.org/Ruby) (J)Ruby weit nach vorne. Ruby wird mit einem Atemzug mit dem Web-Framework [Ruby on Rails](http://www.rubyonrails.org/) genannt, ein Framework für Web-Applikationen, welches dank JRuby auch auf jedem Tomcat und Java Application-Server läuft.

#### Jython

![[Logo]](http://www.jython.org/css/jython.png)Die beliebte Programmiersprache [Python](http://www.python.org/) bringt [Jython](http://jython.sourceforge.net/) auf die Java-Plattform. Auch Jython übersetzt Python-Programme in Java-Bytecode und erlaubt relativ schnelle Ausführungszeiten. Jython 2.2 implementiert Python auf 2.2, doch hat sich (C-)Python mit Version 2.6 und 3 schon weiter entwickelt. Auch sonst gibt es [Unterschiede](http://jython.sourceforge.net/docs/differences.html), etwa bei den eingebauten (nativen) Funktionen. Sun hat im März 2008 Ted Leung und Frank Wierzbicki (Hauptentwickler von Jython) eingestellt, um Python auf der JVM weiter zu fördern.

#### Scala

![[Logo]](http://www.scala-lang.org/images/scala_logo.png)[Scala](http://www.scala-lang.org/) ist eine Funktionale, objektorientierte Programmiersprache, die in der Java-Community große Zustimmung findet, obwohl sie von Martin Odersky erst 2001 entwickelt und 2004 vorgestellt wurde. Ein [Eclipse-Plugin](http://www.scala-lang.org/tools/eclipse/index.html) steht ebenfalls bereit. Für die .NET-Plattform gibt es ebenfalls eine Implementierung. Besonders zeichnet Scala ein durchdachtes Typsystem aus.

#### Quercus

[Quercus](http://www.caucho.com/resin-3.0/quercus/index.xtp) ist eine Implementierung von PHP, welches insbesondere dazu geeignet ist, bestehende und beliebte PHP-Projekte in einer Java-Umgebung ablaufen zu lassen. In der Java-Welt werden zwar nicht alle PHP-Funktionen unterstützt, aber es gibt in der Java-Welt keine Speicherüberläufe oder Sicherheitsprobleme.

#### Jatha

[Jatha](http://jatha.sourceforge.net/) ist eine ›Common LISP library in Java‹, eine Implementierung von Common LISP. Mit einer API lassen sich LISP-Programme aus Java heraus aufrufen.

#### LuaJava

![[Logo]](http://www.keplerproject.org/luajava/luajava_128.png)[LuaJava](http://www.keplerproject.org/luajava/) implementiert die Programmiersprache [Lua](http://www.lua.org/) für die JVM. Die aus Brasilien stammende dynamisch getypte Programmiersprache Lua zählt zu den performantesten, interpretierten Skriptsprachen. Sie ist in erster Linie als eingebettete Programmiersprache zur Applikationssteuerung entworfen worden; [prominete Nutzer](http://www.lua.org/uses.html) sind Sim City, World of Worcraft, Adobe Photoshop Lightroom, SciTE.

#### Pnuts

[Pnuts](https://pnuts.dev.java.net/) gehört zu den schnellsten Skriptsprachen auf der JVM. Die Sprache hat eine einfache Syntax und übersetzt Programme ebenfalls in Bytecode.

#### JBasic

Mit [JBasic](http://jbasic.sourceforge.net/) gibt es für die Java-Plattform einen BASIC-Dialekt, der sich an GW-BASIC anlehnt.

#### JLog

[JLog](http://jlogic.sourceforge.net/) implementiert einen ISO-Standardisierten PROLOG-Interpreter. JLog läuft in einem eigenen Fenster mit Quellcode-Editor, Query-Panel, Hilfe, Debugger, oder es kann in einem eigenen Java-Programm eingebettet werden.

#### Jacl

[Jacl](http://tcljava.sourceforge.net/) implementiert einen TCL-Interpreter in Java. Die Entwicklung ist nicht mehr aktiv.

Die Webseite führt weitere Programmiersprachen für die JVM auf. Allerdings sind viele der gelisteten Sprachen für sehr spezielle Anwendungsfälle entworfen, experimentell oder werden nicht mehr gepflegt.

Kategorien: [Allgemein](https://www.tutego.de/blog/javainsel/category/allgemein/)

[← Alle Beiträge](https://www.tutego.de/blog/javainsel/)

---

## Navigation

- Previous: [Thema der Woche: Java 5 und Java 6](https://www.tutego.de/blog/javainsel/2008/03/thema-der-woche-java-5-und-java-6.md)
- Next: [Thema der Woche: Reguläre Ausdrücke](https://www.tutego.de/blog/javainsel/2008/03/thema-der-woche-regulare-ausdrucke.md)
