Aviva Directory » Computers & Internet » Programming » Ceylon

Created by Gavin King for Red Hat, Ceylon is an object-oriented, strongly statically typed programming language. Programs built with Ceylon run on the Java virtual machine and can be compiled to JavaScript.

Currently maintained by the Eclipse Foundation, Ceylon is available largely through the Apache License. All parts of the language are available under open-source licenses, although part of its source code is licensed under a GNU Lesser General Public License.

Ceylon is a language designed for writing large programs in teams. Ceylon programs can execute in Java and JavaScript virtual machines, and can readily interoperate with native code, taking advantage of the large library ecosystems of these platforms.

The language is packaged with a modular software development kit (SDK) that includes cross-platform APIs for most common programming tasks, as well as a full-featured Eclipse-based integrated development environment (IDE), command-line tools, and support for modularity built-in.

Modularity is built into the language. Ceylon code is organized into packages and modules and compiled to module archives. Its tooling supports a system of module repositories, Ceylon Herd being the central point. Ceylon's type system is designed to be clean, elegant, and powerful, using intersection and union types as basic building blocks, along with enumerated types and type aliases.

As an object-oriented programming language, everything is an object, even numeric values, the null value, a function, and a class. Collections can be handled with higher-order functions and comprehensions, a well as a smooth streams API.

Ceylon is more typesafe than most other languages, although fewer types need to be written, as the language features local type inference, flow-sensitive typing, a typesafe null value, and a typesafe switch statement.

Support for generic programming and metaprogramming is also a feature of Ceylon. Annotations, a typesafe metamodel, and reified generics are the foundation of the language's approach to typesafe runtime metaprogramming.

The development of Ceylon was influenced by Java, Lisp, ML, Scala, and Smalltalk.

The focal point of this category is on the Ceylon programming language. Websites whose chief topic is focused on the language itself, any implementations, editors, IDEs, or other tools designed to facilitate programming in Ceylon are appropriate for this category, as are Ceylon user groups, forums, tutorials, guides, reviews, and informational sites.



Recommended Resources

Search for Ceylon on Google, Bing, or Yahoo!