Weiter im Java-Angriffsmodus: Ceylon in Version 1.2 veröffentlicht

Das neueste Release der durch Red Hat geförderten Programmiersprache erhält nach einjähriger Entwicklung weitere neue Features, mit denen ihre Entwickler um die Gunst der Java-Entwickler buhlen möchten.

In Pocket speichern vorlesen Druckansicht 77 Kommentare lesen
Ceylon 1.2 veröffentlicht
Lesezeit: 2 Min.
Von
  • Alexander Neumann

Nach rund einem Jahr Entwicklungszeit ist nun die Version 1.2 der Programmiersprache Ceylon erschienen. Die für die Java Virtual Machine entworfene sowie mittlerweile auch für JavaScript-Laufzeitumgebungen gedachte Sprache war vor viereinhalb Jahren erstmals vorgestellt worden. Sie war vor dem Hintergrund entstanden, dass der bei Red Hat arbeitende Spracherfinder Gavin King damals zahlreiche Schwächen bei Java wie das Fehlen von Funktionen höherer Ordnung oder Probleme bei der Metaprogrammierung und in der Syntax bemängelte. In einem neuen Blog-Posting kümmert sich King noch mal ganz aktuell den Gründen, warum Entwickler vielleicht ein Interesse daran haben könnten, zu Ceylon zu wechseln.

Das neue Release umfasst auch neue Sprach-Features. An erster Stelle sind hier benannte Konstruktoren zu erwähnen, deren Einführung ebenfalls eine direkte Antwort auf Java beim Umgang mit Konstruktoren ist und die auch in anderen modernen Sprachen wie Dart umgesetzt sind. Andere in der Ankündigung kurz erwähnte neue Sprachfeatures sind Serialisierung und native Deklarationen, durch die sich plattformabhängiger Code in Cross-Platform-Modulen nutzen lässt. Des Weiteren ist von besserer Datenfluss-sensitiver Typisierung und mehr leistungsfähigeren Annotation-Constraints die Rede. Hinzugekommen sind außerdem die Ausdrücke let, switch, if und object.

Zudem unterstützen die integrierte Typüberprüfung und das JavaScript-Backend nun Typfunktionen auf experimenteller Basis. Schließlich gibt es einen neuen Debugger und mit ceylon.war eine Anwendung zur Paketierung von Java-EE-Anwendungen. Eine Auflistung weiterer Änderungen findet sich in der Ankündigung zum neuen Release.

Ceylon ist objektorientiert und statisch typisiert. Ferner soll der Code gut lesbar sein und "schädliche Konstrukte" verhindern. Die Sprache verfügt zudem über ein leistungsfähiges Typsystem, allerdings ohne spezielle Typen. Das Vererbungsmodell Ceylons lehnt sich an Java an. Es sind jedoch generische Typen eingebaut, ebenso Module und die zugehörigen Abhängigkeiten. Ferner behandelt Ceylon Funktionen und Tupel wie Typen. Ceylon-Programme lassen sich in Bytecode kompilieren, der dann plattformunabhängig ist und auf der Java Virtual Machine oder einer JavaScript-Engine läuft. Wahlweise lassen sich Ceylon-Programme aber auch in nativen Code übersetzen, der seinerseits native Bibliotheken verwenden kann.

Ceylon besteht aus Sprachspezifikation, Kommandozeilenwerkzeugen für Java und JavaScript, Modulen zur Code-Organisation, zum Anhängigkeiten-Management und zur Modulisolierung zur Laufzeit sowie aus einem Sprachmodul und einer auf Eclipse basierenden IDE. (ane)