Red Hat Releases Ceylon Language 1.0.0
First time accepted submitter Gavin King writes with news that the Ceylon language hit 1.0 "Ceylon 1.0 is a modern, modular, statically typed programming language for the Java and JavaScript virtual machines. The language features, an emphasis upon readability and a strong bias toward omission or elimination of potentially-harmful constructs; an extremely powerful type system combining subtype and parametric polymorphism with declaration-site variance, including first-class union and intersection types, and using principal types for local type inference and flow-dependent typing; a unique treatment of function and tuple types, enabling powerful abstractions; first-class constructs for defining modules and dependencies between modules; a very flexible syntax including comprehensions and support for expressing tree-like structures; and fully-reified generic types, on both the JVM and JavaScript virtual machines, and a unique typesafe metamodel. More information may be found in the feature list and quick introduction."
If you think Ceylon is cool, you might find Ur/Web interesting too.
One of the few languages in recent times with an interesting type system which isn't just a trivial rehash of existing (in practice) ones.
HAND.
Like that comma?
Confucius say, "Find worm in apple - bad. Find half a worm - worse."
I'm sorry, I'd really like to be interested by this, but the second and last sentence is just the usual marketing bullshit that each newest language has been serving us in the past years.
So, here comes the usual question we always end up asking when such a thread shows up: could you give us a simple and clear explanation of what is so good about it as well as the traditional comparison of advantages/disadvantaged of this language with other similar ones.
Thanks
The Internet
There are to many programming languages.
Why would anyone want to learn yet another language? What's the benefit for people to invest more time into learning a language?
.. ?
I understand the basics of a language are usually pretty easy to pick up: read the syntax quick sheet, and you are good to go. But it still means a drop in productivity for a while.
What makes them think people will want to use this? I guess, they already have enough users, since this is a version 1.0 release
Another language for intellectuals to study.
Reading the language description, I don't see anything notably distinct from Scala. If anything, Ceylon seems a bit clunkier. The one upside appears to be baked in translation into JS, but others have already provided a Scala -> JS parser.
*puts on sunglasses* ..but its no c++
This fits only partially with the long tradition of companies creating languages. C started at AT&T, JavaScript started with Netsscape, Java came from Sun.
What's missing is that it isn't shipping with some other major system. C had Unix. JavaScript had the browser. Java had Sun's server ecosystem.
This isn't shipping with something everybody uses, so it might have a hard time. Compare and contrast with BASIC shipping on 8-bit computers. BASIC sucked; but it was there so you used it.
The other great language tradition is individual programmer itch-scratching (Ruby, Perl).
This one doesn't seem to fit well with either tradition. Union types and a cleaner version of XML inside the language don't seem to be that compelling. I think obscurity is a safe bet; but then it usually is for new languages.
Shouldn't it be Sri Lanak?
In the land of the blind, the one-eyed man is king.
Ceylon developers wanted with at least 5 years experience with the language.
Submit your resume till December 1st, 2013...
I think, therefore you are.
Since Ceylon seems to be Java inspired, I looked for a comparison of the two but didn't find one. Wikipedia's entry about it says, "The project is described to be what a language and SDK for business computing would look like if it were designed today, keeping in mind the successes and failures of the Java language and Java SE SDK." That nice, but can anyone here supply some details?
Ur/Web is really, really, really cool! I don't see what it has to do with Ceylon though - a better link would have been to Scala or to Kotlin.
>combining subtype and parametric polymorphism with declaration-site variance, including first-class union and intersection types, and using principal types for local type inference and flow-dependent typing; a unique treatment of function and tuple types, enabling powerful abstractions; first-class constructs for defining modules and dependencies between modules; a very flexible syntax including comprehensions and support for expressing tree-like structures; and fully-reified generic types, on both the JVM and JavaScript virtual machines, and a unique typesafe metamodel
But how do I make it *do* something?
It's all very well being able to lock down what something is, but programmer cannot live on types alone.
I should use this sig to advertise my book ISBN-13 : 978-1501515132.
Any language that has strict typing is brain dead. People do not think in types. Ask anyone on the street: how do you multiple by ten? They answer: put a zero on the end. That's string manipulation, not arithmetic. People automatically switch from numbers to strings and back to numbers without thinking about it. People do not think in types.
Don't stop where the ink does.
I have no interest in a new language that has concurrency story at all.
Any new language needs to address the biggest development challenge of this time - coding for multiple cores.
Any language that states as a goal: omission or elimination of potentially-harmful constructs, but keeps the awful C construct:
...
if (x = 3)
{
}
is not really serious about elimination of harmful constructs.
"Cylon" language.
That would be a mixed blessing. On the downside, near-genocide by a treacherous world-wide WMD strike. On the upside, a chance to score some hot skinjob action.
Nah, who am I kidding. No Cylon is that desperate for anything (secrets, access, weird geek fetishes).
...line.
...for Python.
I can continue to completely ignore the incredible, writhing mess that is java and its ecosystem.
Go ahead, mod me down, then go back to fighting with Java. I'll just continue being productive. :)
I've fallen off your lawn, and I can't get up.
Hi, I'd like to hire a Ceylon Developer. It's entry level for $10/hour. They just need 5+ years experience.
mkay, thx, goodbye.
- HR
Haven't you heard! We discuss this all the time behind the bike shed!
I am curious as to Red Hat's practical motivations for creating this language. Specifically, do they plan on integrating it in their existing business or projects in any way?
(no sig)
elimination of potentially-harmful constructs
When did English speakers fall in love with the word potentially?
We already have a single word for potentially harmful: it's called dangerous.
Even worse is the infestation of the phrase could potentially, which means the same thing as could.
Yet Another Brace Language
Unless Gavin King grows some serious facial hair, Ceylon is a doomed language.
In theory, practice and theory are the same. In practice, they're not.
PHP is like BASIC: it's there so you use it. I can think of a few entry-level shared web hosts that support PHP but not Perl, Python, Ruby, or Java "for security reasons".
Sri Lanka was Ceylon
Now it's Sri Lanka, not Ceylon
Been a long time gone, Ceylon
Now it's subcontinental delight on a moonlit night
Every gal in Ceylon
Lives in Sri Lanka, not Ceylon
So if you've a date in Ceylon
She'll be waiting in Sri Lanka
The fact that Gavin King (of Hibernate fame) is heading up the project is terrible news. The guy has a horrible track record of disparaging users for report bugs. Definitely not professional, and a sure way to burn a community.
The language features, an emphasis upon readability
Not inserting superfluous commas, would be a good place to start.
systemd is Roko's Basilisk.