Ceylon (programovací jazyk)
Projekt Ceylon je objektově orientovaný programovací jazyk a SDK. Je založen na jazyku Java, vyvíjený společností Red Hat. Programy napsané v jazyce Ceylon jsou spustitelné nad Java Virtual Machine a JavaScript Virtual Machine.[1] Název "Ceylon" je nepřímou referencí k Javě, neboť oba ostrovy Jáva a Srí Lanka (kdysi známá pod jménem Ceylon) produkují kávu. HistorieVývojáři stojící za projektem Ceylon jsou fanoušky Javy a to až do takové míry, že se rozhodli jazyk si přizpůsobit vlastním představám a požadavkům dnešního moderního světa.[2] První zmínky o novém jazyce byly zveřejněny přibližně v polovině roku 2011, přičemž první funkční předprodukční verze Milestone 1 byla vydána 20. prosince 2011,[3] první produkční verze 1.0.0 spatřila světlo světa téměř dva roky poté, 12. listopadu 2013[4] a momentálně je Projekt Ceylon ve verzi 1.1.0.[5] Vlastnosti jazykaJazyk Ceylon dědí většinu syntaxe od Javy. Program Hello World vypadá následovně:[1] shared void hello() {
print("Hello, World!");
}
Polymorfismus operátorůCeylon nepodporuje přetížení operátorů, neboť tento princip je obecně považován za matoucí. Namísto toho jazyk podporuje polymorfismus operátorů, přičemž operátor je zkratka pro metodu zabudovaného typu. Tento přístup je považován za jednodušší a bezpečnější než skutečné přetěžování operátorů. RozhraníRozhraní jsou datové struktury, které obsahují definice členů, avšak ne jejich implementaci. Jsou nápomocné pro definování kontraktu mezi členy různých typů, kteří mají rozdílné implementace. Každé rozhraní je implicitně abstraktní. Rozhraní je implementováno třídou, která používá klíčové slovo shared interface Comparable<in T> {
shared formal Comparison compare(T other);
shared Boolean largerThan(T other) {
return compare(other)==larger;
}
shared Boolean smallerThan(T other) {
return compare(other)==smaller;
}
...
}
DěděníStejně jako v Javě, i v jazyce Ceylon mohou třídy dědit pouze od jedné třídy. Dědičnost je deklarována klíčovým slovem Abstraktní třídy jsou třídy, které slouží pouze jako šablona a nemohou mít instance. Kromě toho fungují přesně jako běžná třída. Abstraktní metody mohou mít pouze abstraktní třídy. Abstraktní metody nemají žádnou implementaci a musí být nahrazeny podtřídou, s výjimkou případu, kdy je i tato třída abstraktní. LicenceCelá práce na projektu, včetně její webové stránky, specifikace jazyka a Ceylon Herd (repozitář pro moduly jazyce Ceylon) je volně dostupná pod licencemi open source.[6] Typový systémZákladní principy typového systému jsou:[7]
PřijetíRyan Paul tvrdí, že i přesto, že je motivace Red Hatu "výstřední", King ji umí dobře obhájit.[8] Neil McAllister na druhé straně ale tvrdí, že Ceylon je chyba a snaha Red Hatu by byla více přínosná, pokud by se rozhodli podpořit stávající alternativy založené na JVM, jako například Scala.[9] Andrew Oliver z magazínu JavaWorld popisuje jazyk Ceylon ve verzi před 1.0.0 jako nadějný, avšak v momentální podobě nepřipravený k použití.[10] ReferenceV tomto článku byly použity překlady textů z článků Ceylon (programovací jazyk) na slovenské Wikipedii a Ceylon (programming language) na anglické Wikipedii.
Externí odkazy
|