Java Magazin 06/12

Eine neue Sprache für die JVM: Java vs. Ceylon – Kaffee gegen Tee

Autor:

„Say more, more clearly“: Dieses Motto haben sich Ceylon-Entwickler auf die Fahnen geschrieben. In diesem Artikel wird untersucht, mit welchen Zutaten der hausgemachte Tee Gavin Kings gebraut wird – und ob Ceylon das Zeug dazu hat, dem weltweit geliebten Kaffee von Oracle in absehbarer Zukunft Paroli zu bieten.

Neben der Sprache Java existiert eine Vielzahl weiterer Programmiersprachen, die die Java Virtual Maschine (JVM) als Laufzeitumgebung verwenden. Ceylon ist eine davon. Ebenso wie bei der Java-Sprache wird der Quellcode von Ceylon in Bytecode umgewandelt, der von der JVM interpretiert werden kann. Ceylon ist eine neue objektorientierte Programmiersprache, die eine Reihe von funktionalen Aspekten beinhaltet. Die polarisierenden und hoch gesteckten Ziele hat sie in die Medien der IT katapultiert. Dabei soll Ceylon ausdrucksstärker, stabiler und einfacherer als Java sein. Obwohl sie sich aktuell in der Entwicklung befindet, sorgt die Sprache bereits jetzt für heiße Diskussionen: Eine Umfrage auf JAXenter.de hat ergeben, dass die Community die Notwendigkeit und den Nutzen einer weiteren Sprache anzweifelt. Das mag vor allem an der Situation von Scala liegen, die zuletzt harte Kritik einstecken musste. Dieser Artikel versucht die Ideen von Ceylon beispielhaft zu transportieren und direkt mit den Merkmalen von Java zu vergleichen, um einen möglichen Mehrwert transparent zu machen.

Stand der Dinge

Nachdem Gavin King – die federführende Person von Hibernate und Seam – im 1. Quartal 2011 halbversehentlich die Existenz des Ceylon-Projekts bekannt gab, wurde Ende Dezember dann offiziell der erste Meilestein (Newton) erreicht und somit das erste Release veröffentlicht. Mit dem aktuellen Stand lassen sich bereits einfache Programme realisieren. Empfehlenswert ist die Entwicklungsumgebung Eclipse, da hierfür ein funktionsfähiges Plug-in existiert.

Warum Ceylon?

Auf der QCon in Beijing 2011 setzte sich Gavin King für seine neue Kreation ein und präsentierte die Gründe, die ihn zur Entwicklung von Ceylon bewegt haben und die Ziele, die er mit der Sprache verfolgt. Ihn stören vor allem schlechte Metaprogrammierung, fehlende funktionale Elemente und fehlende Modularisierung des Java SE SDK. Ebenfalls kritisiert er Arrays, primitive Datentypen, die ungeschickte Realisierung von Annotationen, die kaum erlernbaren Generics mit Wildcards und Rawtypes und andere sehr bizarre Phänomene wie beispielsweise die Tatsache, dass alle Java-Objekte Semaphores sind. Diesem 15 Jahre alten Work-in-Progress-Feeling soll Ceylon ein Ende bereiten. Die obersten Ziele sind demnach: Eleganz, Lesbarkeit, Typsicherheit und Metaprogrammierung.

Vollständiger Artikel