Ceylon language reaches first milestone
Red Hat has released a first milestone of Ceylon, its open source alternative to Java. The milestone allows developers to access the compiler, language module and runtime of this statically typed language. A total of five such milestones are scheduled in the development roadmap to version 1.0 – according to the developers, around 80 per cent of the planned functionality has already been made available in the now released version.
Ceylon is specifically designed for use in large projects and team environments. The developers say that they picked the best elements from Java for Ceylon while avoiding what they consider to be the most annoying side effects of Java. Easier handling of tree-like structures such as user interfaces and a simpler way to write generic reusable code are among the objectives for Ceylon. They note that Ceylon has also been inspired by Smalltalk and ML. Ultimately, they said that they want to move away from the classical Java SE platform and promote Java development with a modular architecture under a new, Java Virtual Machine-based language.
The now published version of Ceylon M1 "Newton" already covers almost all Java features apart from enumerated types and user-defined annotations; the current version also lacks reflection. Details of the planned language features are available in the language specification, while a short tutorial helps developers familiarise themselves with Ceylon programming. The language syntax is derived from C, which should make getting started easier for developers who are familiar with C, C# or Java.
Ceylon is available to download for all major operating systems (and is packaged for the Fedora/Red Hat or Debian/Ubuntu distributions if required). An IDE that is suitable for Ceylon M1 (in the form of an Eclipse plug-in) is due to be released before the end of the week. Ceylon's compiler is licensed under the GPL2 with classpath exception, the IDE is under the Eclipse Public Licence 1.0, and other parts are under the Apache License 2.0.