A big step forward for Red Hat's 'Java killer'
Ceylon M2 'Minitel' is here
Two months on from their first milestone, the team behind new JVM-based language Ceylon have deployed their latest milestone, 'Minitel', showing their rapid progression towards a proper version.
Officially their second milestone, Minitel is a big leap towards a fully-realised Ceylon 1.0, with most of the Java interoperability fully specified and implemented, meaning it's quite easy to call Java with Ceylon. Modules can be executed with any standard Java 6-compatible JVM.
In basic terms, Ceylon now has all of the features of Java, bar enumerated types, user-defined annotations, and reflection according to Stéphane Épardaud, who is working on the Ceylon compiler.
Ceylon's ace in the hole, so to speak is its powerful type system, boasting several improvements over regular Java. Amongst these language features, available with M2, are:
- JVM-level primitive types are ordinary classes in Ceylon
- type inference and type argument inference based on analysis of principal types
- streamlined class definitions
- more elegant syntax for type constraints
- nested functions
- richer set of operators
- more elegant syntax for annotations
- immutability by default
- method and attribute specifiers
They aren't stopping there though. Other features still to be implemented include anonymous functions, multiple parameter lists, comprehensions, mixin inheritance, member class refinement, reified generics, user-defined annotations and the type safe metamodel. It's a mesmerising array of promises - and one we hope they can follow up on.
Lead by Red Hat's Gavin King, the media accused Ceylon of being 'a Java killer' although he said that was never his intention. Telling the Register back in November, King said '“I never billed this as a Java Killer or the next generation of the Java language. Not my words. Ceylon isn't Java, it's a new language that's deeply influenced by Java, designed by people who are unapologetic fans of Java. Java's not dying anytime soon, so nothing's killing it.”
Ceylon's approach is based on treelike structures, promising to be faster, less buggy and ultimately easier to write and understand than the language it has been inspired by.
There's three further milestones for Ceylon before the team are satisified they've got every last bit of power from their language. Milestone 3 will be focusing on anonymous functions, M4 on mixin inheritance, nested/member classes, type aliases and M5 on annotations, mostly. Most of the dredging has been done now. After all, the first appearance covered 80%.
We're glad the Ceylon team are taking time over this - get everything spot on and we could be looking at one terribly powerful JVM member. Take a peek at its source code on Github.