Java-Herausforderer: Ceylon 1.3 unterstützt nun die Android-Entwicklung

Das neueste Release der durch Red Hat geförderten Programmiersprache erhält nach einjähriger Entwicklung neue Features, die die Sprache für die Entwicklung von Android-Anwendung befähigen.

Nach rund einem Jahr Entwicklung ist die Version 1.3 der von Red Hat geförderten Programmiersprache Ceylon erschienen. Beim neuen Release handelt es sich um die erste Sprachversion, die die Entwicklung für Googles mobiles Betriebssystem Android unterstützt. Außerdem lassen sich nun der Node Package Manager (npm) sowie Wildfly Swarm, eine für die Entwicklung von Microservices konzipierte Version von Red Hats Anwendungsserver, nutzen. Zusätzlich lassen sich jetzt Ceylon-Programme in einem Docker-Container betreiben.

Ausrichtung auf Android

Ceylon geht bei der Android-Unterstützung einen ähnlichen Weg wie Kotlin. Hinter der Entwicklung dieses etwa zur gleichen Zeit wie Ceylon entstandenen Java-Herausforderers, steht der Hersteller von Entwicklungswerkzeugen JetBrains. Mit Erscheinen der Version 1.0 diesen Februar verspricht Kotlin vollständige Binärkompatibilität mit dem in der Android-Entwicklung immer noch verbreiteten Java 6, die nahtlose Interoperabilität mit bestehendem Java-Code und tiefgreifende Integration in die Android Studio IDE.

Insgesamt zählen die Ceylon-Entwickler 330 Änderungen. Zumindest für die Java Virtual Machine (JVM) scheint das neue Release rückwärtskompatibel mit dem kompletten Release-Strang der letzten Sprachversion (Ceylon 1.2.0 bis 1.2.2) zu sein. Bei JavaScript besteht Kompatibilität allein mit Ceylon 1.2.2. Zu Ceylon gehört auch eine IDE. Ihre aktuelle Version 1.3 ist neben der zuvor schon bestehenden Integration in Eclipse nun auch als Plug-in für IntelliJ IDEA und Android Studio verfügbar. Die den IDEs zugrunde liegende Software wurde fast vollständig mit Ceylon selbst neu geschrieben.

Warum Ceylon?

Die für die JVM entworfene und mittlerweile auch für JavaScript-Laufzeitumgebungen gedachte Sprache war vor fünfeinhalb Jahren erstmals präsentiert 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.

Ceylon ist objektorientiert und statisch typisiert. Ferner soll ein gut lesbarer Code “schädliche Konstrukte” verhindern. Die Sprache verfügt zudem über ein offenbar 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. (ane)

Ein gutes Posting Zusammenfassung