Alternative JVM-Sprachen

In den letzten Jahren wurde eine zunehmende Anzahl von Programmiersprachen in einer Version für die JVM implementiert. Die bekanntesten Vertreter zur Zeit dürften die folgenden sein:

  • Groovy - Eine dynamisch typisierte Sprache, die z.B. die Grundlage des Webframeworks Grails ist. Eine statisch typisierte Variante liegt mit Groovy++ vor. Groovy vereint die Eigenschaften von Skriptsprachen, Objektorientierung und funktionalen Sprachelementen.
  • Scala - Eine stark typisierte Sprache mit objektorientierten und funktionalen Aspekten mit einem Schwerpunkt auf parallelen Konstrukten wie Actors. Ein bekannter Vertreter des Frameworks ist das Lift-Framework für Webanwendungen.
  • Clojure - Eine funktonale Programmiersprache in der Tradition von Lisp mit besonderen Stärken in der parallelen Programmierung.
  • JRuby - Ruby in einer Version für die JVM. Unter anderem kompatibel mit dem Webframework Ruby on Rails.
  • Jython - Python für die JVM. Es gibt auch einen Port des Webframeworks Django.

Aber es gibt inzwischen eine weit größere Auswahl. Sowohl altbekannte Sprachen wie Cobol, als auch von Grund auf neu entwickelte Sprachen wie Fantom gehören zum Ökosystem Java.

Eine umfangreiche Liste findet man auf Wikipedia.

Vorteile der Prorammierung in der JVM

  1. Man kann sich fragen, warum sich so viele Leute die Mühe machen, ganze Programmiersprachen für die JVM verfügbar zu machen. Abgesehen von Abenteuerlust und dem Spaß an der Sache gibt es eine ganze Reihe handfester Gründe, die für die JVM sprechen.
  2. Die JVM ist für fast jedes Betriebssystem und verschiedene Rechnerarchitekturen verfügbar.  Damit funktioniert eine Programmiersprache für die JVM in der Regel auf allen unterstützten Systemen. Weder die Entwickler noch die Anwender müssen sich mit unterschiedlichen Architekturen auseinandersetzen.
  3. Die meisten JVM-Sprachen können auf die massive Anzahl professioneller Klassenbibliotheken zugreifen, die für und in Java entwickelt wurden. Besonders im Bereich Middleware und serverseitiger Programmierung führt an Java so gut wie kein Weg vorbei.
  4. Die gute und ständig weiterentwickelte Unterstützung für Multithreading und parallele Programmierung in der JVM.
  5. Die Möglichkeit jederzeit Teile des Programms direkt in Java zu implementieren. Das erscheint zwar auf den ersten Blick widersinnig, aber Java ist und bleibt eine der am leichtesten zu lesenden und zu wartenden Sprachen. Kompakter Code ist schön, aber je nach Sprache schwer zu lesen und besonders schwer von anderen zu warten, die sich erst in die DSLs, überladenen Operatoren und sonstigen "Vereinfachungen" einlesen müssen.
  6. Die Möglichkeit polyglotter Programmierung, also die Verwendung verschiedener Progammiersprachen in ein und demselben Projekt, je nachdem welche Sprache für welchen Zweck am besteh geeignet ist.

 

 

 

 

Share/Save