4 ms·
Agree that Kotlin has slightly better interoperability and IDE support (but Ceylon is interoperable with Java too and has an Eclipse-based IDE). But I like Cey
by RivieraKid 13y ago
Agree that Kotlin has slightly better interoperability and IDE support (but Ceylon is interoperable with Java too and has an Eclipse-based IDE).
But I like Ceylon more because:
* Union and intersection types.
* I find the type system cleaner and more elegant.
* It's an attempt to build a whole new platform with a new SDK. Kotlin is, in a way, just a syntax skin over the Java platform.
* Reified generics. Kotlin got rid of them.
* I personally find Ceylon's "String str" more readable than Kotlin's "str: String".
* Type-safe metaprogramming.
* Comprehensions (not 100% sure Kotlin doesn't have them).
* It's compilable to JS.
* Slightly more regular syntax, more readable generic declarations, better web documentation, currying, spread operator, etc.
- timclark 13y agoSome of the smaller decisions the Ceylon team has made also seem nicer than the Kotlin equivalent. For example I prefer the Ceylon "if(exists x) {}" to the Kotlin "if(x != null)" - even though the Ceylon is further from the Java syntax.
- pron 13y agoKotlin also compiles to JS and has typesafe Groovy-style builders. I don't like the union and intersection types, and think Kotlin being "a syntax skin over the Java platform" is its main advantage. Thing is, neither Kotlin nor Ceylon (nor Scala, IMO) add something fundamentally necessary over what's available in Java (8). They mostly provide productivity enhancements. For me, added productivity is really nice, but it doesn't justify switching a language, unless it's a 10x productivity boost (Clojure is different; it provides a whole new way of thinking and managing state and data, which is very important for concurrency - this is big). So in that case, I'd rather give Java a facelift than change to something else altogether. Kotlin is just a Java facelift. It's trivial and transparent to mix Kotlin and Java classes, even in the same package.
- RivieraKid 13y agoProductivity and how fun is it to use a language are about the only metrics that I care about. Even small productivity increase can be a reason to switch language. I don't understand the Clojure bit - do you mean STM?
- pron 13y agoWell, I'm used to developing multi-MLOC projects in large teams; they don't switch a language so easily... As for Clojure, I mean this: http://www.infoq.com/presentations/Value-Identity-State-Rich-Hickey http://www.infoq.com/presentations/Value-Identity-State-Rich... (basically: immutability, controlled state transitions via agents/atomic/STM)
- pjmlp 13y agoMy metrics are the technology stack the customer requested and if the application/library does what was requested.
- trailfox 13y agoI happen to find str: String much more readable than String str.