BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage News Ceylon Is Feature Complete

Ceylon Is Feature Complete

This item in japanese

Bookmarks

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.

Rate this Article

Adoption
Style

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.

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

Community comments

  • Ceylon, Kotlin, Scala, oh my

    by Dan Tines,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    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,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    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,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    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,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    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

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

BT