Mit der Programmiersprache will Red Hat die besten Elemente aus Java destillieren, dabei aber gleichzeitig die ärgerlichsten Begleiterscheinungen in Java ausklammern. Ceylon soll sich wie Java zum Entwickeln von Unternehmenssoftware eignen.
Der Red-Hat-Entwickler und Mitarbeiter an verschiedenen JBoss-Unterprojekten Gavin King hat die Programmiersprache Ceylon erstmalig im April 2011 auf der QCon-Konferenz in Peking vorgestellt. Er arbeitete zu diesem Zeitpunkt aber bereits rund zwei Jahre an Ceylon – Konsequenz: In der jetzt veröffentlichten Version 1.0 stecken rund vier Jahre Entwicklungszeit.
Anzeige
Neben dem Initiator arbeiten inzwischen zahlreiche Entwickler an der Sprache mit, die bewusst Ähnlichkeiten mit Java und JavaScript aufweist und von King einst als "neue Generation der Java-Programmiersprache" bezeichnet wurde.
Java-Schwächen
Die Motivation zum Start des Ceylon-Projekts lag in den zahlreichen Schwächen, die Java nach Kings Ansicht aufweist. So sei Java zu stark mit XML verbunden und weise keine ausreichende Modularität auf. Zudem seien Projekte wie die Modularisierungstechnik OSGi unnötig komplex.
Ferner bemängelt King an Java fehlende Funktionen höherer Ordnung. Außerdem gäbe es Probleme mit der Meta-Programmierung. Darüber hinaus weise Java Schwächen in der Syntax auf. Das gelte insbesondere für das SDK, das übereilt entworfen und seitdem nicht mehr modernisiert worden sei.
Ceylon-Stärken
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 Typ-System, 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.
Anzeige
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, dann aber nicht mehr plattformunabhängig ist.
Ein "Hello World" mit Ceylon, eingebunden in der Eclipse-basierten Entwicklungsumgebung
Ceylon 1.0 besteht aus den Compilern, einer Reihe von Kommandozeilen-Tools, einer in Form von mehreren Eclipse-Plug-ins realisierten grafischen Entwicklungsumgebung und zahlreichen Funktionen. Der Quellcode mit sämtlichen Komponenten ist auf Github verfügbar. Die Entwickler stellen Binärpakete der Sprache in Form von RPM- und DEB- und Zip-Paketen zum Herunterladen zur Verfügung.
Ferner gibt es ein eigenes Paket-Depot für die Eclipse-Plug-ins, die die Basis der Ceylon-IDE bilden. Auch ein öffentliches Repository für Module steht bereit, die von der Gemeinschaft entwickelt wurden, das auf den Namen Herd getauft wurde.
Eine bereits im Dezember 2011 vorgestellte Beta-Version mit dem Codenamen M1 Newton deckte schon nahezu sämtliche Funktionen von Java ab, allerdings keine Aufzählungstypen, keine benutzerdefinierten Annotationen und bot keine Unterstützung für Reflexionen.
Exklusive Tests, Ratgeber & Hintergründe. Unbegrenzter Zugriff auf alle heise+ Beiträge inkl. allen Digital-Magazinen.Exklusive Tests, Ratgeber & Hintergründe. Unbegrenzter Zugriff auf alle heise+ Beiträge inkl. allen Digital-Magazinen.