Ceylon (programming language)

Ceylon
ParadigmObject-oriented
Designed byGavin King
DeveloperEclipse Foundation
First appeared2011; 13 years ago (2011)
Stable release
1.3.3 / August 21, 2017; 6 years ago (2017-08-21)
Typing disciplineStatic, strong, safe
PlatformJava virtual machine, JavaScript
LicenseApache License 2.0
Filename extensions.ceylon[1]
Websiteceylon-lang.org
Influenced by
Java,[2] Scala, Smalltalk, ML,[3] Lisp,[4] Whiley[5]

Ceylon was an object-oriented, strongly statically typed programming language with an emphasis on immutability, created by Red Hat. Ceylon programs run on the Java virtual machine (JVM), and could be compiled to JavaScript.[6][7] The language design focuses on source code readability, predictability, toolability, modularity, and metaprogrammability.[8]

Important features of Ceylon include:[9]

  • A type system enforcing null safety and list element existence at compile time
  • Regular syntax and semantics, avoiding special cases and primitively-defined constructs in favor of syntactic sugar
  • Support for generic programming and metaprogramming, with reified generics
  • Modularity built into the language, based on JBoss modules, interoperable with OSGi[10] and Maven[11]
  • powerful tools, including an Eclipse-based IDE[12]

The name "Ceylon" is an oblique reference to Java, in that Java and Sri Lanka, formerly known as Ceylon, are islands known for growth and export of coffee and tea.

In August 2017, Ceylon was donated to the Eclipse Foundation. Development slowed down and finally stopped in 2020.[13] In April 2023, Eclipse Foundation declared the termination of the transition.[14]

  1. ^ King, Gavin. "The Ceylon Language: §4.1 Compilation unit structure". Retrieved 2015-12-04. A compilation unit is a text file, with the filename extension .ceylon.
  2. ^ "Frequently Asked Questions: What is Ceylon?". Retrieved 2015-12-04. Ceylon is a new programming language that's deeply influenced by Java
  3. ^ "ceylon/user - Gitter". Retrieved 2015-12-04.
  4. ^ "ceylon/user - Gitter". Retrieved 2015-12-04.
  5. ^ "Top 10 Ceylon language features Java wishes it had". Retrieved 2019-11-29.
  6. ^ "Ceylon 1.0 beta". Retrieved 2013-09-26.
  7. ^ "Project Ceylon – Red Hat builds Java replacement". The Register. 2011-04-13. Retrieved 2011-11-27.
  8. ^ King, Gavin (2012-01-10). "Principles that guide this project". Retrieved 2015-12-04.
  9. ^ "FAQ about language design: Goals". Retrieved 2015-12-04.
  10. ^ Festal, David (2014-10-10). "Write in Ceylon, deploy as OSGI, use in Java EE". Retrieved 2015-12-04.
  11. ^ "Maven repositories". Retrieved 2015-12-04.
  12. ^ "Features of Ceylon IDE". Retrieved 2015-12-04.
  13. ^ "ceylon / ceylon". GitHub, Inc. 2020-05-25. Archived from the original on 2023-10-03. Retrieved 2024-01-22.
  14. ^ "Eclipse Ceylon™ Termination Review". Eclipse Foundation. 2023-04-05. Archived from the original on 2023-04-23. Retrieved 2023-04-23.