Eclipse Ceylon
projects.eclipse.org
projects.eclipse.org
The language itself is a spiritual successor to java kind of like kotlin but they decided not to depend on java specific classes like ArrayList which means you have to convert between those with a function to get a proper ceylon list datatype which has filter, map, fold, etc. Instead they developed their own ceylon sdk. This has some advantages if you have a non Java implementation but requires you to ship around more code which is undesirable for web and mobile app development. Kotlin has a big advantage in Java only environments like android.
Strangely enough I never got "stuck" in this language. I never felt the need to go to stackoverflow or any other external site because there was a problem that I couldn't solve because of my unfamilarity with the language. All I did was read the guide a few times and occasionally look at the reference. The language felt very intuitive to me.
The compiler is a bit too slow in my opinion because I'm not trading my time off to get better performance like C++ compilers do.
I think the language is stuck in a limbo between good language design and suboptimal implementation.
Which languages do you typically use now? Are you a Java dev? Do you already use Eclipse daily?
It just needs far more code examples.
The language seems interesting but a niche language without a backer or major hype doesn't seem like a solid long term bet.
Whatever is so bad about him, I don't see it on a google search. Not being snarky, I just literally don't see it. Every link for a few pages looks neutral.
Guessing here: do you just really really really (really really really...) hate hibernate?
Hibernate and EJB3 were both lead by Gavin and are widely used. Hibernate, in particular, was massively successful too.
Whatever you think of him, the bottom line is that he created a whole language + library + IDE plug-ins from scratch over a few years with a small team.
Ceylon will probably not go anywhere now that Kotlin has taken over, but that doesn't take away anything from the talent and dedication that King has brought to his language.
The web site of Ceylon is at https://ceylon-lang.org/
I bet on Ceylon, but somehow people preferred Kotlin.
14. Apr 2011, 01:44 CET Gavin King | gavin.king(AT)gmail.com
> 1. 'variable' keyword is to long use var instead
We've so far avoided abbreviations. In practice the IDE will
type this annotation name for me.
I don't want a language designed to require an IDE – if the language is so cumbersome that you need a tool to write it for you, then you might as well just use Java. With Kotlin, I can write in Emacs if I feel like it, since being concise is one of their explicit design goals.(Ironic, I guess, that the language developed by an IDE vendor is the better one to use without an IDE.)
Edit: To elaborate, the Ceylon docs say[2] that "one of the goals of the language is for most code to be immediately readable to people who aren't Ceylon programmers, and who haven't studied the syntax of the language."
I think this is a very misguided goal. No programmer is going to be confused about what "var" means, so making everyone type "variable" gains you nothing. And at the same time, that very same introduction page has plenty of syntax that you won't understand without studying it first, so it still wouldn't achieve their aim, even if those concessions to verbosity had somehow helped.
[1] http://in.relation.to/2011/04/13/ceylon/
[2] https://www.ceylon-lang.org/documentation/current/introducti...
"variable" is easily distinguished from "value" in Ceylon, whereas "var" and "val" are easily confused in Kotlin, being only different by a single letter "r" and "l" -- which even sound the same in some East Asian languages.
When it comes to Ceylon, they weren't going for easily distinguished, they were going for unabbreviated (see earlier link) - the rest of the language follows the same pattern.
Anyway, I'd rather take this minor risk of confusion than a language I can barely write without auto-completion. It hasn't been a big problem for me in practice. And if you do use an IDE, it will use syntax highlighting to distinguish var and val.
value is used for type inference and isn't much different from typing val. It's also optional; you might just declare an actual type instead, ala Java. I personally think this tends to read better, but that's probably because I spend most of my time in Java.
This, precisely. I feel Ceylon uses more sensible defaults all around, like also having non-public methods/properties by default unless explicitly declared public. I use Kotlin in some projects, but don't really like its default of public properties and methods unless explicitly declared private, nor their decision on final classes by default.
It's also so many other little things in Ceylon that really add up to make it a pleasure to use, like its simplification of numeric types to just the minimal meaningful set of Integer and Float[1] (no Double, Long, etc), its integer literals which use the metric suffix system, like 5k for 5000, 5M for 5 million, and even hex integer literals like #ffffff, etc.[2][3], its comparison operations which return one of the enumerated Comparison type of smaller, equal, or larger (and not -1, 0, 1) ...etc
[1] https://ceylon-lang.org/documentation/current/tour/language-...
[2] https://ceylon-lang.org/documentation/current/reference/lite...
[3] https://ceylon-lang.org/documentation/current/tour/language-...