After more than three years of development, Red Hat has released version 1.0.0 of Ceylon, its homebrewed, open-source programming language that's designed to be a replacement for Java. Early on, Ceylon was billed as a "Java killer" by some, but lead developer Gavin King has denied that doing away with Oracle's platform was ever …
Question on Development
I've never heard a good answer to this question. When a new language is developed, how do the developers make sure the hardware (CPU/GPU) will understand it? For that matter, how is a new chip designed so it understands the various instructions?
Re: Question on Development
Erm, the "hardware" provides a fixed, specific instruction set, it is the job of the compiler/interpreter/virtual machine, whatever, to translate the code which the programmer writes to the above instruction set. Hardware is agnostic to the latest fad sweeping the interwebs, more instructions may be added to fascillitate common tasks that previously took multiple instructions, but that's entirely down to the vendor.
On a side note, slightly miffed at the chosen name, as this was the colonial name given to the country of my birth by the Brits! And I see what you did there with the title, tsk, tsk tsk..
Re: Question on Development
I assumed the Ceylon name was a playful nod to Java (both being hot drinks and islands), but the project logo is a picture of an elephant. Not one drinking tea.
The name "Ceylon" puts me off immediately, named after a mosquito-ridden overheated nation [now called Sri Lanka for those born since 1976] that has spent most of its recent years in civil war. Like "Java" puts me off Java. It also reminds me of Indian call centres (sorry, Ceylon != India, but same subcontinent).
It is a mistake to call any product after the name of a country or person (unless the person is actually the proprietor). Eastman knew this in 1888 when he chose Kodak as a brand name - he got researchers to check that it had no political/religious/national/personal implications before adopting it.
One of the reasons that Esperanto failed as an international language is because the name sounds Spanish - important when the issue is about language itself.
Re: Bad Name
I take exception the first paragraph, the name Sri Lanka came in to effect in 1972, even though we had obtained Independence in 1948! Sounds like a daily fail style generalisation of a whole subcontinent - educate thyself!
NOTE: I'm not in favour of the name, but have no opinion on the new language, it's come and, it'll go, inevitably.
In an effort to see why Yet Another Language was needed, I wondered what the Python crowd would make of it. Googling : ceylon python ... wasn't all that helpful as the real big snakes live there :)
Then I found this was helpful http://programmers.stackexchange.com/questions/148983/what-are-the-advantages-of-ceylon-over-java
and http://www.ibm.com/developerworks/library/l-ceylon/ .. FWIW.
I wish them luck with it, a bit of diversity and progression is fine with me.
Re: More info
Well, Ceylon is fundamentally different to Python in that it's statically typed, not just strongly typed.
I suppose this merits Reg coverage
... more or less solely because of the Red Hat patronage. Otherwise it looks like Yet Another JVM Language. That's fine - the nice thing about targeting JVM (or CLR, or LLVM1) is that you can treat these as DSLs when they do something particularly useful in some odd corner of your source base, and use straight-up Java for your main development. It all interoperates and if your development team is any good, maintenance shouldn't be an issue because these languages are highly expressive and a competent developer should be able to pick one up as necessary. (That's assuming the existing code reasonably good, but if you're not holding code reviews and ensuring quality, you get what you deserve.)
But personally I find this one not very interesting. Given world enough and time I'd play around with it, but it ranks pretty low on my list - certainly below Scala and Clojure (which are already pretty well established) in the JVM-languages league, and below Julia and R and some others outside it.
* HTML syntax - I don't generally do UI work, and when I need HTML, I write HTML, so again this fails to excite me. Even if I did a lot of HTML, Ceylon's support doesn't look too thrilling. What does it do for me that the DOM doesn't? And if I'm generating enough HTML to make it worthwhile, I'm not going to do it with individual method calls for individual DOM nodes; I'll build a higher-level abstraction, thanks.
* Reified generics, type inference, etc - sure, that's nice, but why not go to Clojure and get a proper functional-OO language?
1Or UCSD p-System, right guys? Right? C'mon, where are all the p-System fans?