Ceylon

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
Ceylon
Ceylon (programming language) logo.png
Класс языка объектно-ориентированный язык программирования, свободное программное обеспечение, язык программирования, язык функционального программирования, мультипарадигмальный язык программирования, императивный язык программирования[d] и язык JVM[d]
Появился в 2011
Разработчик Red Hat[1][2] и Гэ́вин Кинг[d]
Расширение файлов .ceylon[5]
Выпуск
Испытал влияние Scala[6], Smalltalk[6], ML[6], Лисп[7] и Java[8][6]
Лицензия Apache License 2.0[9][10]
Сайт ceylon-lang.org​ (англ.)
Платформа Java Virtual Machine[11] и JavaScript[11]
ОС кроссплатформенность

Ceylon — объектно-ориентированный язык программирования высокого уровня со строгой статической типизацией и комплект средств разработки, разрабатываемые компанией Red Hat. Язык основан на Java, а программы написанные на Ceylon могут быть запущены на виртуальных машинах Java или на движке JavaScript[12][13].

Перед проектом стоит задача избавления разработчиков от проблем языка Java[14][15][16]:

  • улучшение структурированных данных и пользовательских интерфейсов,
  • модульность версии языка,
  • поддержка функций первого и более высокого порядков,
  • избавление от неуклюжего метапрограммирования.

Название языка является отсылкой к языку Java (остров Ява известен как поставщик кофе, а Цейлон —ныне Шри-Ланка — является всемирно известным поставщиком чая[17]).

Особенности языка[править | править код]

Ceylon наследует большую часть синтаксиса Java. Пример Hello, world![18]:

shared void hello() {
    print("Hello, World!");
}

Полиморфизм операторов[править | править код]

Цейлон не будет предоставлять перегрузку операторов, поскольку она считается излишне запутанной, но вместо этого поддерживает полиморфизм операторов, при котором оператор является указателем на метод встроенного типа. Предполагается, что данный подход будет безопаснее и проще, нежели истинная перегрузка операторов.

Другие языки для платформы JVM[править | править код]

  • Kotlin — язык программирования разрабатываемый компанией JetBrains
  • Scala — язык пропагандирующий идеи FP
  • Xtend — воплощение идей model-driven программирования.
  • Clojure — современный диалект Лиспа

Примечания[править | править код]

  1. 1 2 http://ceylon-lang.org/community/companies/
  2. 1 2 http://ceylon-lang.org/community/
  3. http://ceylon-lang.org/blog/2015/10/29/ceylon-1-2-0/#ceylon_120_is_now_available
  4. https://api.github.com/repos/ceylon/ceylon/releases
  5. The Ceylon Language
  6. 1 2 3 4 https://gitter.im/ceylon/user?at=5660a7242cbea1d7054de9d9
  7. https://gitter.im/ceylon/user?at=5660a90e5057376520db6f8b
  8. http://ceylon-lang.org/documentation/1.2/faq/#what_is_ceylon
  9. http://ceylon-lang.org/code/licenses/
  10. The ceylon Open Source Project on Open Hub: Licenses Page — 2006.
  11. 1 2 http://ceylon-lang.org/documentation/1.1/spec/html_single/#runtimeandplatform
  12. Ceylon 1.0 beta (англ.). Дата обращения 26 сентября 2013.
  13. Project Ceylon – Red Hat builds Java replacement (англ.). The Register (13 April 2011). Дата обращения 27 ноября 2011.
  14. Introducing the Ceylon Project — Gavin King presentations at QCon Beijing 2011
  15. Gavin King. Ceylon (13 апреля 2011). Дата обращения 27 ноября 2011.
  16. Ceylon JVM Language. infoq.com (13 апреля 2011). — «First, I never billed this as a Java Killer or the next generation of the Java language. Not my words. Ceylon isn't Java, it's a new language that's deeply influenced by Java, designed by people who are unapologetic fans of Java. Java's not dying anytime soon, so nothing's killing it». Дата обращения 27 ноября 2011.
  17. McAllister, Neil Red Hat's Ceylon language is an unneeded tempest in a teapot (22 апреля 2011). Дата обращения 27 сентября 2014.
  18. Gavin King. Introduction to Ceylon Part 1 (27 апреля 2011). Дата обращения 27 ноября 2011.

Ссылки[править | править код]

  • ceylon-lang.org — официальный сайт Ceylon
  • ibm.com Язык программирования Ceylon: Часть 1. Общий обзор и основные функциональные возможности