BT

Ceylon Is Feature Complete

by Abel Avram on Sep 26, 2013 |

Gavin King, leader of the Ceylon project, has announced the availability of M6 release, which has also been tagged as Ceylon 1.0 Beta, the language been considered feature complete. This release includes complete language specification, a command-line toolset – compilers for JVM and JavaScript VMs, documentation compiler –, an SDK, and an Eclipse-based IDE.

Beside bug fixes, this release includes the following language enhancements:

  • annotations and annotation constraints
  • a typesafe metamodel
  • "static" method and attribute references
  • try with resources
  • support for strings, integers, and characters in switch
  • support for named Unicode characters in string and character literals
  • the ** scaling multiplication operator
  • nonempty variadic parameters
  • a new improved syntax for calling concrete members of inherited interfaces

Some of the IDE’s enhancements are:

  • support for launching Ceylon programs on the module runtime
  • integration with Eclipse's built-in file and package refactorings
  • inline "linked-mode" rename, and rename support for references in documentation strings
  • improvements to autocompletion, including "linked-mode" argument completion
  • improved integration for Eclipse's merge viewer
  • integration with the command-line toolset's configuration file format
  • new quick fixes and assists

The language and related tools have been in development for more than 3 years, and it is not clear when GA is due, but chances are to see it done in Q1 or Q2 of 2014. Work has started on Ceylon 1.0 but only 7% of a total of 167 open issues have been closed so far, according to the project’s roadmap. Beside fixes, the Ceylon team intends to add serialization, repository replicator, and a number of modules: ceylon.transaction – support for distributed transaction processing-, ceylon.local – support for localization, and  ceylon.format – number and date.time text formatting.

According to King, Ceylon was born out of the desire to have a language that relieves the frustration accumulated with Java, which was considered being over complex in certain aspects and late in being updated with new sought-after features: tight integration with XML, lack of language level modularity, lack of first-class or higher-order functions, or language mistakes that “annoy us every day”, such as getters/setters, array and primitive types, the “dangerous” synchronized keyword, verbose constructor syntax, etc. Ceylon attempts to solve those issues, and it was initially meant to target the JVM, but support for the JavaScript VM has been added along the way, so the code runs also in the browser and on Node.js. The Ceylon syntax resembles that of C, Java , and C#, the language itself being meant to be simple. But as with other recent languages, such as Google Go and Dart, its success depends entirely on its adoption rate.

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Ceylon, Kotlin, Scala, oh my by Dan Tines

Ceylon has interested me, but the JVM language field is a crowded one. It'll be interesting to see how things pan out. I put my bets on Kotlin when it gets closer to release.

Re: Ceylon, Kotlin, Scala, oh my by Luke deGruchy

Why Kotlin? Ceylon has more interesting features, like union and intersection types and reified generics (which the Kotlin people gave up on).

Brillant by jerome angibaud

Congratulation. Everything seems highly concise, coherent and comprehensive in this language. Union types and typesafe meta programming are innovative and make sense. Nevertheless, I expected features to deal with "aggregates" and immutability to let Ceylon be more capable for encapsulation... May it comes along next versions.

Brillant by jerome angibaud

Congratulation. Everything seems highly concise, coherent and comprehensive in this language. Union types and typesafe meta programming are innovative and make sense. Nevertheless, I expected features to deal with "aggregates" and immutability to let Ceylon be more capable for encapsulation... May it comes along next versions.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

4 Discuss

Educational Content

General Feedback
Bugs
Advertising
Editorial
InfoQ.com and all content copyright © 2006-2014 C4Media Inc. InfoQ.com hosted at Contegix, the best ISP we've ever worked with.
Privacy policy
BT