Ceylon war eine objektorientierte, stark statisch typisierte Programmiersprache mit Fokus auf Unveränderlichkeit (Immutability), entwickelt von Gavin King — dem Erfinder von Hibernate — bei Red Hat. Sie wurde 2011 auf der QCon-Konferenz angekündigt und am 12. November 2013 in Version 1.0.0 veröffentlicht. Ceylon lief auf der JVM und konnte zusätzlich nach JavaScript kompiliert werden.
Besonderheiten
- Ausdrucksstarkes Typsystem mit Union- und Intersection-Typen, Typ-Aliasen und fluenter, gut lesbarer Syntax.
- Betonung von Unveränderlichkeit: viele Strukturen sind standardmäßig immutable, ähnlich wie bei Kotlin.
- Eigenes Modulsystem mit Modul-Repositories und der Descriptor-Datei
module.ceylon. - Als Eclipse-Projekt („Eclipse Ceylon“) gehostet; das Basismodul
ceylon.languagewird automatisch importiert.
Wichtige Befehle
ceylon compile Hello.ceylon # kompilieren (JVM)
ceylon run hello # Programm ausfuehren
ceylon compile-js Hello.ceylon # JavaScript-Backend
ceylon doc hello # Dokumentation erzeugen
ceylon import com.example:module/1.0 # Modul aus Repository holen
Weitere Subcommands der ceylon-CLI sind unter anderem copy (Module zwischen Repositories kopieren) und config (Konfigurationsdateien verwalten).
Einordnung
Die letzte Version 1.3.3 erschien am 21. August 2017; danach stellte Red Hat die Entwicklung ein — Java selbst hatte sich mit schnelleren Release-Zyklen wieder geöffnet. Ceylon reiht sich in die JVM-Sprachfamilie neben Java, Kotlin, Groovy und Scala ein. Mit Frege teilt sie das JVM-Ziel, mit Fantom die Mehrziel-Unterstützung.