Ceylon: ein Projekt für eine zeitgemäße Java-Alternative

Hibernate- und Seam-Erfinder Gavin King, der bei Red Hat angestellt ist, startet mit dem Ceylon-Projekt den Versuch, aus den Stärken und Schwächen der Java-Programmiersprache zu lernen und eine zeitgemäße Alternative zu entwickeln.

In Pocket speichern vorlesen Druckansicht 430 Kommentare lesen
Lesezeit: 2 Min.
Von
  • Alexander Neumann

Gavin King, ein in der Java-Welt bekannter Softwareentwickler in Diensten von Red Hat, arbeitet offenbar seit zwei Jahren an einer neuen Programmiersprache samt zugehörigem Software Development Kit (SDK), die er auf der QCon-Entwicklerkonferenz in Peking als "neue Generation der Java-Programmiersprache" bezeichnete. Kings bislang im Stillen entwickeltes "Ceylon Project" ist von Java beeinflusst und wird als zeitgemäße Sprache für die Programmierung in Unternehmen bezeichnet, die eingedenk der positiven Eigenschaften, aber auch der Fehler Javas entwickelt wird.

Die Sprache soll in der Java Virtual Machine (JVM) laufen, statisch typisiert sein, Funktionen höherer Ordnung unterstützen und dabei einfach zu erlernen und zu lesen sein. Einige Eigenschaften dürften unter anderem C#-Entwicklern vertraut sein. Beispielsweise gibt es optionale und benannte Parameter sowie Nullable Types, außerdem Typinferenzen über das "local"-Schlüsselwort.

Es gibt bei Ceylon nur drei Arten von Typen: Klassen, Interfaces und Typparameter. Wie bei Java können Klassen in Ceylon nur von einer anderen Klasse erben. Eine Klasse mag wiederum über ein spezielles Schlüsselwort auf sich selbst referenzieren. Abstrakte Klassen werden als Klassen verstanden, die nur als Template dienen und nicht instanziiert werden können. Die Sprache unterstützt nicht das Überladen von Operatoren, sondern die Polymorphie derselben. Ein Operator fungiert daher als Shortcut für eine Methode eines eingebauten Typs.

Ein einfaches "Hello World"-Beispiel, wie es King, der auch der Entwicklung der weit verbreiteten Java-Frameworks Hibernate und Seam vorsteht, auf der Konferenz in Peking präsentiert hat, sieht wie folgt aus:

void hello() {
writeLine(“Hello World!”);
}

Eine erste Bewertung nehmen (ane)