Ceylon (programming language)

from Wikipedia, the free encyclopedia
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

  1. Java variant Ceylon reaches first milestone
  2. ^ First official release of Ceylon
  3. Introducing the Ceylon Project - Gavin King presentation at QCon Beijing 2011
  4. Official Ceylon blog: "Ceylon 1.0.0 is now available"

Web links