Skip to content

Latest commit

 

History

History
120 lines (108 loc) · 5.22 KB

features.md

File metadata and controls

120 lines (108 loc) · 5.22 KB
title layout tab unique_id author
Key Features
default
features
keyfeaturespage
Gavin King

Key features of Ceylon

Ceylon is a language for writing large programs in teams.
Here's some of what's special about it.

Cross-platform execution

Ceylon programs execute on Java and JavaScript virtual machines, and can easily interoperate with native code.

Platform libraries

Ceylon provides a brand-new modular SDK.

Modularity

Code is organized into packages and modules, and compiled to module archives.The tooling supports a system of module repositories, with Ceylon Herd as its social focus point.

Tooling

Ceylon has a full-featured Eclipse-based IDE and excellent command-line tools, with support for modularity baked right in.

Powerful type system

The type system is especially clean, elegant, and powerful, featuring intersection and union types as basic building blocks, along with enumerated types and type aliases.

Object-oriented programming

Programming with objects is a breeze. Everything is an object, even numeric values, even the null value, even a function or class. Handle collections with higher-order functions and comprehensions. Model difficult relationships with mixin inheritance.

Type inference, flow-sensitive typing, and typesafe null

Ceylon is more typesafe than other languages, but you write down fewer types: the language features local type inference, flow-sensitive typing, a typesafe null value, and a typesafe switch statement.

Simplified generics with fully-reified types

Generics that don't suck: Ceylon "fixes" generics with declaration-site covariance and contravariance, reified type arguments, and principal instantiation inheritance.

Typesafe metaprogramming

Annotations, a typesafe metamodel, and reified generics are the foundation of Ceylon's unique approach to typesafe runtime metaprogramming, which makes framework development a pleasure.

To learn more, start with the quick introduction.