Portál AbcLinuxu, 11. května 2025 01:10

Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Vložit další komentář
14.11.2013 21:22 Ondra
Rozbalit Rozbalit vše Re: Ceylon 1.0.0
Odpovědět | Sbalit | Link | Blokovat | Admin
zdravim, tusite nekdo rozdily mezi Ceylonem a Kotlinem? dik
14.11.2013 22:41 Radek Miček | skóre: 23 | blog: radekm_blog
Rozbalit Rozbalit vše Re: Ceylon 1.0.0
Kotlin má blíže k Javě. Ceylon má např. reifikovaná generika, Kotlin nikoliv.
17.11.2013 02:07 rododendron
Rozbalit Rozbalit vše Re: Ceylon 1.0.0
skicar by bol naj jazyk keby sa tam dali programovat gify
14.11.2013 23:58 loki
Rozbalit Rozbalit vše Re: Ceylon 1.0.0
Ceylon

- ma union a intersection types (je to imho jediny jazyk, ktery je ma)

- vice typesafe, typovy system je cistsi a elegantnejsi

- je to pokus vybudovat od zakladu uplne novou platformu, netahat sebou "java baggage", ale zaroven zustat s javou kompatibilni

- kompilace do JS

- podpora deklarovani stromovych struktur (konfiguracni soubory, html)

- "String a" misto "a: String", pro me velka vyhoda oproti Scale nebo Kotlinu

- podpora metaprogramovani

- comprehensions

- spousta dalsich drobnosti - else/then, vice regular syntaxe, srozumitelnejsi deklarace generickych typu, currying, spread operator, ...
15.11.2013 10:43 fubar
Rozbalit Rozbalit vše Re: Ceylon 1.0.0
- ma union a intersection types (je to imho jediny jazyk, ktery je ma)

- vice typesafe, typovy system je cistsi a elegantnejsi
Typový systém Ceylonu je IMHO jedna z jeho největších výhod. +1
- je to pokus vybudovat od zakladu uplne novou platformu, netahat sebou "java baggage", ale zaroven zustat s javou kompatibilni
To je asi nejdůležitější věc. Ceylon (stejně jako třeba Scala) je nová platforma, která shodou okolností používá JVM. Kotlin je jen nový jazyk, který dobře zapadá do existujícího ekosystému.
- kompilace do JS
Mají dneska skoro všichni. IMHO jediný alternativní jazyk, která dává pro programování v prohlížeči smysl, je Dart.
- podpora deklarovani stromovych struktur (konfiguracni soubory, html)
Kotlin umí taky skrz velmi pěknou podporu pro typově bezpečná DSL. Myšlenka anonymních rozšiřujících funkcí se na první pohled zdá divná, ale ono to celé docela pěkně funguje.
- "String a" misto "a: String", pro me velka vyhoda oproti Scale nebo Kotlinu
Pravda. Ale je to otázka chutě.
- podpora metaprogramovani
Typově bezpečný metamodel Ceylonu je hodně zajímavý. Kotlin je v tomhle mnohem pragmatičtější (či přízemnější, jak kdo chce), viz přednáška Andreye Breslava z letošního JVM Language Summitu.
- comprehensions

- spousta dalsich drobnosti - else/then, vice regular syntaxe, srozumitelnejsi deklarace generickych typu, currying, spread operator, ...
Souhlas, Ceylon má dost zajímavých drobností. Kotlin taky, kromě rozšiřujících funkcí bych zmínil hlavně podporu delegace a delegovaných properties. Jó, a enumy. Nic proti součtovým typům, ale enum je prostě enum :-)

Dodám dvě věci:
  1. Dokumentace. Ceylon má hodně pěknou dokumentaci, Kotlin má jenom dost mizernou wiki, kde není vůbec jasné, co je aktuální a co zastaralé (např. se tam pořád tvrdí, že Kotlin má reified generics [český výraz?], i když od toho dávno ustoupili).
  2. Release status. Ceylon je teď 1.0, zatímco Kotlin M6.1 (tj. šestý milestone), v tradičních termínech bych odhadl, že se blíží k betě.
.
15.11.2013 23:24 loki
Rozbalit Rozbalit vše Re: Ceylon 1.0.0
Tady pisou, ze extension methods jsou v planu: http://ceylon-lang.org/documentation/1.0/faq/language-design/#extension_methods

Absence enumu je pro me taky problem, doufam ze s tim neco udelaji :-)

Kotlin nema reified generics? To me tesi, to je oproti Ceylonu celkem podstatna nevyhoda ;-) Ale podpora delegace je zajimava...

16.11.2013 10:27 Radek Miček | skóre: 23 | blog: radekm_blog
Rozbalit Rozbalit vše Re: Ceylon 1.0.0
Kotlin nema reified generics? To me tesi, to je oproti Ceylonu celkem podstatna nevyhoda
Kotlin nemá reifikaci z výkonnostních důvodů. Scala je na tom podobně.

Cituji příspěvek Martina Oderskyho o reifikaci:
The research with Enno was different: It was a essentially a C++-like expansion of everything at class loading time. So, more classes were generated yet on the other hand everything was specialized. We had to introduce some severe restrictions in the language to make the expansion process terminate. Essentially, a class could not contain a definition that had a type with a more complicated instance of itself. Things like zip in collections would be impossible. This is enforced by the language spec of C++ but it's definitely not OK for Java or Scala.

We hoped that the scheme would trade larger codesize for better speed. So a 7% slowdown was not exactly considered a success.

Michel Schinz implemented a scheme that looks close to what Ceylon did in his thesis work. His performance results were much worse than 7% (I remember twice as slow in some cases). For this reason we did not pursue it further.
15.11.2013 22:02 Radek Miček | skóre: 23 | blog: radekm_blog
Rozbalit Rozbalit vše Re: Ceylon 1.0.0
ma union a intersection types (je to imho jediny jazyk, ktery je ma)
Jazyky pro práci s XML to mají – například CDuce má kromě průniku a sjednocení i doplněk. Java má průnikové typy.
vice typesafe, typovy system je cistsi a elegantnejsi
Proč si to myslíte?
15.11.2013 23:09 loki
Rozbalit Rozbalit vše Re: Ceylon 1.0.0
Jazyky pro práci s XML to mají – například CDuce má kromě průniku a sjednocení i doplněk. Java má průnikové typy.
Diky, neznal jsem. Pokud tou Javou myslite MyClass<T extends Comparable & Node>, tak to se s tim co ma Ceylon neda vubec srovnavat.
Proč si to myslíte?
Je to celkovy dojem po tom, co jsem procetl language tour (http://ceylon-lang.org/documentation/1.0/tour/types/), konkretne me napadaji intersection/union typy nebo syntaxe pro generika.
15.11.2013 15:17 p
Rozbalit Rozbalit vše Re: Ceylon 1.0.0
O Ceylonu je 83. díl CZ podcastu

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.