Ceylon is a language designed for writing large programs in teams. Ceylon 1.0 beta, codenamed Virtual Boy, a reference you will understand if you're familiar with its elephant logo, has been released this week.
Announcing it, Gavin King, creator of Ceylon, posted:
We first became aware of Ceylon in April 2011 when Gavin King gave his presentation The Ceylon Project - the next generation of Java language? at QCon in Bejing.
At the time our verdict was:
It seems to be a standard object-oriented language with block structure and a side order of functions as first class objects.
and I wrote:
I doubt we will hear much more of Ceylon (the programming language) in the future
something I now have to retract as the project has attracted attention, and a good account of it was included in Rebel Labs recent Adventurous Developer’s Guide to JVM Languages where it was included alongside Scala, Clojure, Kotlin and others.
The beta 1.0 release includes:
- a complete formal language specification that defines the syntax and semantics of Ceylon in language accessible to the professional developer
- module architecture for code organization, dependency management, and module isolation at runtime
- the language module
Along with many bugfixes the new release introduces several new language features:
- annotations and annotation constraints
- a typesafe metamodel
- "static" method and attribute references
try with resources
- support for strings, integers, and characters in
- support for named unicode characters in string and character literals
** scaling multiplication operator
- nonempty variadic parameters
- a new improved syntax for calling concrete members of inherited interfaces
Beta 1.0 of the Ceylon IDE, its Eclipse-based development environment was released at the same time. Its new features are:
- support for launching Ceylon programs on the module runtime
- paste-with-imports, and autoindentation on paste
- 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
- much improved integration for Eclipse's merge viewer
- integration with the command line toolset's configuration file format
- several new quick fixes and assists, including new quick assists for adding and changing import aliases
- a new editor preferences page
Virtual Boy aka Ceylon 1.0 beta includes the latest release of the language, command line tools and IDE all of which can be found on the Download section of theCeylon website.
The source code for Ceylon is available from GitHub and developers who would like to be involved in the project should see the invitation to Contribute to Ceylon.