Ceylon 1.3.2: Update bringt Ceylon Assemblies und zahlreiche Bugfixes

© Red Hat, Inc.
Rund drei Monate nach dem letzten Minor Release veröffentlichte das Team um Entwickler Gavin King gerade die aktuelle Version Ceylon. Mit an Bord sind Assemblies und die String-Interpolation für assert-Nachrichten. Außerdem ist es nun möglich, Ceylon-Module als Maven-Repositories zu exportieren.
Wie bereits beim Vorgänger sieht das Update der statischen JVM-Sprache Ceylon erst einmal nicht besonders spektakulär aus. Doch mit über 100 geschlossenen Issues ist auch dieses vermeintliche Minor Release durchaus signifikant. Darunter sind neben Verbesserungen und neuen Features an der Sprache selbst auch Aktualisierungen für das SDK und die IDE.
Neue Features
Ceylon Assemblies
In Ceylon 1.3.2 können Nutzer nun ab sofort Gebrauch von Assemblies in Form von .cas
-Archiven machen. Darunter versteht man Archive im Zip-Format, die ein Ceylon-Modul-Repository mit allen transitiven Abhängigkeiten eines bestimmten Ceylon-Moduls beinhalten. Zudem kann ein Maven-Repository inbegriffen sein, das die entsprechenden transitiven Maven-Abhängigkeiten des Moduls enthält.
Die Archive werden mit ceylon assemble produziert und können mit dem Befehl ceylon run --assembly
ausgeführt werden. Alternativ kann das Archiv, wenn es mit der Option ceylon assemble --include-runtime
zusammengefügt wurde, unter Verwendung von java –jar
auf Systemen ohne Ceylon ausgeführt werden.
Wichtig! ceylon assemble
ist etwas anderes, als ceylon fat-jar
. Ein .jar
-Archiv, das mit ceylon fat-jar
zusammengefügt und mit java –jar
ausgeführt wird, läuft auf einem flachen Klassenpfad. Ein .cas
-Archiv hingegen, das mit ceylon assemble
zusammengefügt wurde, läuft immer mit der vollen Modul-Isolation in der Standard-Modul-Runtime von Ceylon. Weitere Informationen dazu gibt es hier.
Weitere Features
Eine weitere Änderung an der Sprache selbst ist die Möglichkeit, in assert
-Nachrichten interpolierte Strings zu verwenden:
Beispiel 1 (Quelle):
"length must be less than 10 but was ``length``" assert (length < 10);
Beispiel 2 (Quelle):
"exponent ``power`` must be non-negative" assert (power>=0);
In Maven werden nun auch Projekte unterstützt, die sowohl Java- als auch Ceylon-Module enthalten. Zudem ist es ab Version 1.3.2 möglich, Ceylon-Module als Maven-Repository zu exportieren. Auch die Lazy Initialization für Attribute, die als late
gekennzeichnet sind, hat die neue Version der JVM-Sprache im Gepäck.
Über 60 Issues konnten im Zuge der Arbeit an der Ceylon IDE 1.3.2 für IntelliJ IDEA und Eclipse geschlossen werden: neue Features, wie das Starten als fat-jar
inbegriffen. Für die Entwicklungsumgebung von JetBrains wurde ein verbesserter Formatter entwickelt.

Der neue Formatter der Ceylon IDE / Quelle: JavaCodeGeeks
Hintergrund
Als Ceylon im Jahr 2011 von Red Hats Gavin King entwickelt wurde, sprachen die Medien von einem „neuen Java-Killer“. King selbst dementierte von vornherein Ambitionen, Java durch eine „nächste Generation“ absetzen oder beerben zu wollen. Die neue Sprache sei eher der Frustration über Beschränkungen in der Programmierung mit Java entsprungen, etwa dem Fehlen einer Lösung für die Entwicklung von Oberflächen.
Besonderes Augenmerk wurde bei der Entwicklung der objekt-orientierten Sprache auf Lesbarkeit, Modularität, ein vollständiges Tooling, Einfachheit und Eleganz gelegt. Das Motto, welches sich das Team auf die Fahnen geschrieben hat, lautet: „Say more, more clearly“.
Lesen Sie auch: Ceylon-Entwickler Gavin King im Interview: „Wir wollen Teil der Java-Welt sein“
Seit dem letzten großen Update der Sprache (Version 1.3) können auch Android-Anwendungen in der JVM-Sprache geschrieben werden und Docker Images werden unterstützt. In Sachen Tooling hat Ceylon eine Entwicklungsumgebung im Gepäck, die sowohl Eclipse als auch IntelliJ IDEA unterstützt.
Eine vollständige Übersicht der Änderungen hat Gavin King im entsprechenden Blogpost zum Release veröffentlicht.
Hinterlasse einen Kommentar