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."
Honestly, I'd be happy with just a C variant with built-in string support.
I read TFA and all I got was this lousy cookie
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.
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.
If I was making a language that was C with a few more features, I wouldn't stop at just better string handling. I would also include a method of inspecting the heap so a function passed a pointer knows just how much storage is available at that pointer. I would also steal C++'s single line comment delimiter (//), and pass by value mechanic. I'd also build a first class regex utility into stdlib, but that's just me.
I read the internet for the articles.
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.
3.14 * 10 == 3.140?
(And what would that have to do with anything anyway? And actually, the popularity of the phrase "You're comparing apples to oranges!" shows that, actually, people do think in types, and get annoyed when others treat one type as another unthinkingly.
You are not alone. This is not normal. None of this is normal.
...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.
D does!. But D also has so many neat features.
D is wonderful, and it can interop with C / C++ or write inline ASM for you micro-optimists out there.
People do not think in types.
Piaget would disagree with you.
http://en.wikipedia.org/wiki/Schema_(psychology)
(no sig)
Haskell is a truly different language, but what's the big deal about Python vs. Ruby Vs. Lua?
There are too many programming languages.
Some people describe the recent increase in the number of languages as the Cambrian explosion, but what we need now is a mass extinction.
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)
Only once.
That's the point - you can never re-assign to a variable.
It felt like a kick in the monads.
I should use this sig to advertise my book ISBN-13 : 978-1501515132.
Yet Another Brace Language
Pure practicality?
PHP didn't even start out as a programming language. Even now, you can happily look at it as a bunch of stuff that makes it easy for people make dynamic websites. It is clearly quite successful. It's successful because it was really good at doing the job it was, er, "designed" to do.
PHP, then, would fall neatly under the "successful languages" category.
Hate it all you want. Bitch and moan on Slashdot 'till your fingers bleed. It's not going away any time soon. There is no alternative that is even half as easy to set up and use. There is no suitable replacement. That "unusable" language just happens to be the best thing around.
I point out this obvious fact because it drives morons incapable of forming their own opinions crazy. With any luck, they'll stop polluting every programming related thread with their miserable whining.
Required reading for internet skeptics
The one really useful "new" language that I've seen this past decade has been Scratch, something that I think could be turned into a production language (as opposed to the tutorial language that MIT uses it for). There have been some attempts to do just that by some other 3rd party developers, but it certainly isn't widespread and they largely take clues from what MIT is doing with the base language.
The GUI development environment is definitely useful, and I like how Scratch does multi-threaded applications like breathing air... it really is built into the language in a very basic and fundamental way. That in particular is something which should be leveraged more.
Beyond that, I would agree that most of the new languages I've looked at seem to be a rehash of C in some fashion with a few variations that either try to remove semicolons or do some other interesting things but still are just variants on the same general syntax philosophy. I'm an old Delphi programmer that has been sort of left behind as that programming community has shrunk to just a few diehard fans and I haven't really found anything to replace that kind of programming environment of hand-crafted gems that could do just about anything you wanted including rewriting base classes in the compiler (assuming that was something you felt necessary for that particular project).
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