Ceylon (programming language)
Ceylon | |
---|---|
Paradigms : | Object-oriented programming language |
Publishing year: | 2011 |
Developer: | Gavin King, Red Hat |
Current version : | 1.3.3 (August 21, 2017) |
Typing : | strong , static |
Influenced by: | Smalltalk , ML , Java |
Operating system : | platform independent |
License : | GNU General Public License / Java Community Process |
ceylon-lang.org |
Ceylon is a programming language with a Software Development Kit (SDK) that is based on Java and compiled for the Java Virtual Machine . The name is also the former name of the island of Sri Lanka as well as the tea originating from there . This can be seen as a nod to Java , which was named after the Arabica coffee grown on the island of Java . The project aims to develop a language and an SDK according to today's design standards, learning from both the right and the wrong decisions of the Java project.
Like the Java compiler, the Ceylon compiler generates bytecode for the Java Virtual Machine. It was initiated by the Red Hat developer Gavin King , who became known for his work on Seam and the Hibernate framework. Ceylon is syntactically based on Java. Red Hat describes the language as readable and extremely type-safe . So far the compiler for the command line, language modules, the runtime system, an Eclipse- based development environment and a documentation compiler have been published. Compared to the language range planned for version 1.0, numbered types, user-defined comments and reflection were missing at the end of 2011 .
Basic concepts of language
Ceylon largely inherits the syntax of Java. Hello World in Ceylon looks like this:
shared void hello() {
print("Hello World!");
}
Overloaded
Ceylon does not support method overloading, but optional parameters can be assigned a default value.
Higher order functions
Ceylon supports higher order functions .
void repeat(Integer times, void perform()) {
for (Integer n in 1..times) {
perform();
}
}
Compiler
The Ceylon compiler is multi-layered and consists of a parser / type checker that validates the code and backends that translate the validated code. There is a Java backend that generates Java bytecode using the OpenJDK compiler, and a JavaScript backend that generates a JavaScript file. Both parsers and backends are written in Java.
Releases
On December 20, 2011, the first of six milestones for version 1.0 was released. Milestone six was released on September 23, 2013 and has the unofficial version 0.6. Version 1.0.0 was finally released on November 12, 2013. Information on future releases can be found in the project's official roadmap .
Testing
At try.ceylon-lang.org you can look at finished code examples for individual language functions and you can also write small programs yourself, which are compiled on the server side with the JavaScript compiler and then executed in the browser.
Individual evidence
- ↑ Java variant Ceylon reaches first milestone
- ^ First official release of Ceylon
- ↑ Introducing the Ceylon Project - Gavin King presentation at QCon Beijing 2011
- ↑ Official Ceylon blog: "Ceylon 1.0.0 is now available"
Web links
- Official website (English)
- Ceylon on Github (English)
- Brief Introduction to Ceylon (English)
- Tour of Ceylon (English)