What is Ceylon? Not just a country: now there’s an actual programming language called Ceylon, courtesy of Red Hat.
This flexibility has led industry analysts to bill it as a possible “Java killer”, leading to a strong statement from Gavin King:
“First, 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“
So why a new language?
Ceylon’s creation stems from many factors, but foremost among them all (according to Gavin King’s blog post on Ceylon) is dissatisfaction with the difficulty of defining user interfaces and structured data using a hierarchical syntax in Java. The Ceylon development community is taking the opportunity to write an entirely new SDK to solve the problems posed by outdated class libraries in the Java SDK.
While there are a number of similarities and differences to Java, the most prominent difference (to yours truly, that is) is the type system. Types are one of the first things you learn in programming. Suprisingly, this language contains none of the primitive types and arrays the majority of us are used to. Ceylon uses the union and intersection concepts of sets for expression, leaving the compiler to determine the types automatically. That, and the syntax itself, which is geared to be readable by large teams (i.e: people who don’t necessarily know all the programming dialects and gimmicks that the guy in the other cubicle uses). If you want the full list of what’s new, head over to http://ceylon-lang.org/documentation/
While we have no way of predicting how things turn out for Ceylon, we’ll keep you updated. On behalf of Sri Lanka: Cheers, Ceylon!