Gosu: Eine neue Sprache für die JVM

Hartmut Schlosser

Gosu ist der Name einer neuen Sprache für die JVM, die unter der Apache-2.0-Lizenz zur Verfügung steht. Gosu ist objektorientiert, statisch typisiert, imperativ und unterstützt Closures, vereinfachte Generics und Typen-Inferenzen. Entwickelt wurde Gosu seit 2002 von dem Versicherungssoftware-Anbieter Guidewire zur internen Anwendung. Die Gründe, warum Gosu nun in einem öffentlichen Release zugänglich gemacht wurde, beschreibt Gosu-Entwickler Alan Keefer in seinem Blogpost „Why Gosu?„:

Das Fehlen von Sprach-Features in Java wie Typen-Inferenzen, Closures, syntaktischer Zucker für Listen und Tabellen, dynamische Typisierung, dynamische Kompilierung, Metaprogramming-Möglichkeiten etc. habe zur Entwicklung einer eigenen Sprache geführt, wobei die JVM als kleinster gemeinsamer Nenner angesehen wurde. Warum aber wurde nicht auf eine andere Sprache zurückgegriffen? Keefer listet folgende Hinderungsgründe auf:

  • C# ist von Microsoft kontrolliert und nicht wirklich plattformübergreifend
  • C++ ist zu komplex und fehleranfällig
  • Python, Ruby und JavaScript sind dynamisch typisiert und verfügen über eine unzureichende Tooling-Landschaft
  • Clojure ist dynamisch typisiert und als LISP-Dialekt zu weit von Java entfernt
  • Scala ist zu komplex

Am nahesten komme Groovy an den Gosu-Ansatz heran, dennoch soll Gosu eine Lücke in der JVM-Sprachlandschaft schließen:

So merely in that sense, we think that Gosu fills a vacuum for a statically-typed JVM language that has a familiar syntax, doesn’t add too much complexity to Java, and which improves on Java in the most critical ways. Alan Keefer

Wer sich ein eigenes Bild von Gosu machen möchte, findet auf der Projektseite ausführliches Dokumentationsmaterial, Codebeispiele und Downloadmöglichkeiten für diverse Gosu-Entwicklertools, etwa das Gosu-Plug-in für Eclipse.

Geschrieben von
Hartmut Schlosser
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.