Dark Mode

Zum Inhalt springen

Ceylon (Programmiersprache)

aus Wikipedia, der freien Enzyklopadie
Ceylon
Basisdaten
Paradigmen: Objektorientierte Programmiersprache
Erscheinungsjahr: 2011
Entwickler: Gavin King, Red Hat
Aktuelle Version: 1.3.3 (21. August 2017)
Typisierung: stark, statisch
Beeinflusst von: Smalltalk, ML, Java
Betriebssystem: plattformunabhangig
Lizenz: GNU General Public License/Java Community Process
ceylon-lang.org

Ceylon war eine Programmiersprache mit einem Software Development Kit (SDK), die auf Java basierte und fur die Java Virtual Machine kompiliert wurde.[1][2]

Im Jahr 2023 beendete die Eclipse Foundation das Projekt Eclipse Ceylon.[3]

Der Name Ceylon ist gleichzeitig die ehemalige Bezeichnung der Insel Sri Lanka sowie des von dort stammenden Tees. Dies kann als Anspielung auf Java gesehen werden, das nach dem Arabica-Kaffee benannt wurde, der auf der Insel Java angebaut wird. Das Projekt wollte eine Sprache und ein SDK nach heutigen Designstandards entwickeln, wobei sowohl aus den richtigen als auch den falschen Entscheidungen des Java-Projekts gelernt werden sollte.[4] Im April 2023 erklarte die Eclipse Foundation die Beendigung der Entwicklung von Ceylon.[5]

Wie der Java-Compiler erzeugt der Ceylon-Compiler Bytecode fur die Java Virtual Machine. Initiiert wurde sie vom Red-Hat-Entwickler Gavin King, der durch seine Arbeit an Seam und dem Hibernate-Framework bekannt wurde. Syntaktisch lehnt sich Ceylon stark an Java an. Red Hat beschreibt die Sprache als gut lesbar und extrem typsicher. Bisher wurden der Compiler fur die Kommandozeile, Sprachmodule, das Laufzeitsystem, eine Eclipse-basierte Entwicklungsumgebung und ein Dokumentationcompiler veroffentlicht. Gegenuber dem fur Version 1.0 geplanten Sprachumfang fehlten Ende 2011 nummerierte Typen, nutzerdefinierte Anmerkungen und Reflection.

Grundkonzepte der Sprache

[Bearbeiten | Quelltext bearbeiten]

Ceylon erbt weitestgehend die Syntax von Java. Hello World in Ceylon sieht so aus:

shared void hello() {
print("Hello World!");
}

Ceylon unterstutzt kein Uberladen von Methoden, allerdings konnen optionale Parameter mit einem Defaultwert belegt werden.

Funktionen hoherer Ordnung

[Bearbeiten | Quelltext bearbeiten]

Ceylon unterstutzt Funktionen hoherer Ordnung.

void repeat(Integer times, void perform()) {
for (Integer n in 1..times) {
perform();
}
}

Der Ceylon-Compiler ist mehrschichtig aufgebaut und besteht aus einem Parser/Typechecker, der den Code validiert, und Backends, die den validierten Code ubersetzen. Es gibt ein Java-Backend, das mithilfe des OpenJDK-Compilers Java-Bytecode erzeugt, und ein JavaScript-Backend, das eine JavaScript-Datei erzeugt. Sowohl Parser als auch Backends sind dabei in Java geschrieben.

Am 20. Dezember 2011 wurde der erste von sechs Milestones fur die Version 1.0 freigegeben. Milestone sechs ist am 23. September 2013 freigegeben worden und tragt die inoffizielle Version 0.6. Am 12. November 2013 schliesslich erschien Version 1.0.0.[6] Informationen zu kunftigen Releases finden sich in der offiziellen Roadmap des Projekts.

Auf try.ceylon-lang.org kann man sich fertige Codebeispiele zu einzelnen Sprachfunktionen anschauen und auch selber kleine Programme schreiben, die serverseitig mit dem JavaScript-Compiler kompiliert und dann im Browser ausgefuhrt werden.

Einzelnachweise

[Bearbeiten | Quelltext bearbeiten]
  1. | Java-Variante Ceylon erreicht ersten Meilenstein. heise.de/newsticker
  2. | First official release of Ceylon. ceylon-lang.org
  3. | This project is archived
  4. | Introducing the Ceylon Project - Gavin King presentation at QCon Beijing 2011. slideshare.net
  5. | Eclipse Ceylon(tm) Termination Review. Eclipse Foundation, 5. April 2023, archiviert vom Original (nicht mehr online verfugbar) am 23. April 2023; abgerufen am 23. April 2023 (englisch).
  6. | Offizieller Ceylon-Blog: ,,Ceylon 1.0.0 is now available". ceylon-lang.org