Ceylon – Red Hats Inselsprache oder echte Java-Alternative?

Hartmut Schlosser

Ist Ceylon Enterprise-tauglich? Diese Frage stellt Akber Choudhry in einem aktuellen Blogeintrag, der einige interessante Kommentare von Ceylon-Chefentwickler Gavin King nach sich gezogen hat – der Community auch bekannt als Erfinder von Hibernate.

Choudhrys Position in aller Kürze: Er ist ein Verfechter der JVM-Sprache Ceylon, die 2011 von King vorgestellt wurde und derzeit auf dem Weg zur ersten Major-Version ist (aktuell ist Ceylon 1.0-beta). Die drei Hauptmerkmale von Ceylon sieht er in der Typensicherheit, der eingebauten Modularität und einer Syntax, die Wartbarkeit und das Refactoring von Enterprise-Anwendungen erleichtert.

Neben der technischen Ausstattung zählt Choudhry auch die agile Community zu den Trümpfen von Ceylon – Feedback ist schnell zu haben, Bugfixes werden umgehend erledigt. Und dazu noch den Open-Source-Spezialisten Red Hat hinter der Sprache zu wissen, lässt Choudhry zu seinem Schluss kommen: „Ceylon is enterprise-ready.“

Nun stellt ein Kommentator aber gerade die Zugehörigkeit zur Red Hat Familie als problematisch heraus. Seine Behauptung, die Ceylon-Macher hegten den Plan, die JRE-Plattform zu verlassen, um eine eigene Alternative zu entwickeln, wird indes vehement zurückgewiesen. Hier meldet sich Gavin King persönlich zu Wort:

Ceylon adressiere zusätzlich zwar eine zweite Runtime-Umgebung, nämlich JavaScript VMs. Das heiße aber nicht, dass man nicht zu 100% hinter der JVM stehe. Ceylon lebe im Grunde von der Idee, die Java-Plattform zu ergänzen, und man verwende viel Zeit dafür, eine nahtlose Interoperabilität zu Java herzustellen. Zukünftig sollen auch andere JVM-Sprachen wie JRuby und Grooby interoperabel gemacht werden, verrät King. Und vor allem: „We have no plans to implement any kind of Ceylon-specific virtual machine.“

Ob es Ceylon indes schafft, sich aus dem Red-Hat-Umfeld zu lösen und sich zu einer allgemein akzeptierten Alternative auf der JVM zu entwickeln, bleibt eine spannende Frage.  Insbesondere muss sich Ceylon mit anderen JVM-Sprachen wie Scala messen. Weshalb sollten sich Entwickler, die nach einer Alternative zu Java suchen, Ceylon – und nicht Scala – zuwenden?

Auch hier hat King eine Antwort parat. Zunächst betont er, dass Ceylon und Scala zwei recht verschiedene Sprachen seien – „Java und C# sind wahrscheinlich ähnlicher als Ceylon und Scala.“ Danach verrät uns King seine eigene Liste, die Ceylon seiner Meinung nach einzigartig machen:

  •  the central importance of modularity, and especially how it becomes a foundation for cross-platform execution (by which we mean, JVM/JavaScript) via the minimal core language module,
  • the importance attached to readability and omission of language features that can be too-easily abused,
  • some distinctive features of the type system, like union/intersection types, flow-dependent typing, and our treatment of function and tuple types, and
  • how the combination of reified generics and the typesafe metamodel clean up the whole big area of runtime metaprogramming.

Am besten, man macht sich selbst ein Bild von der Tauglichkeit von Ceylon für Enterprise-Projekte. Das aktuelle Ceylon SDK enthält neben der Sprachspezifikation ein Kommandozeilen-Toolset, das u. a. die Java- und JavaScript-Compiler enthält und Unterstützung für die Ausführung modularer Programme auf der JVM und Node.js bietet. Entwickeln kann man mit Ceylon in der Eclipse-basierten Ceylon IDE.

Geschrieben von
Hartmut Schlosser
Hartmut Schlosser
Hartmut Schlosser ist Redakteur und Online-Koordinator bei Software & Support Media. Seine Spezialgebiete liegen bei Java-Enterprise-Technologien, JavaFX, Eclipse und DevOps. Vor seiner Tätigkeit bei S & S Media studierte er Musik, Informatik, französische Philologie und Ethnologie.
Kommentare

Schreibe einen Kommentar

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