Ceylon
Ceylon | |
---|---|
![]() | |
Класс языка | объектно-ориентированный, свободное программное обеспечение, язык программирования, язык функционального программирования, мультипарадигмальный, императивный и язык JVM |
Появился в | 2011 |
Разработчик | Red Hat[1][2] и Гэ́вин Кинг[вд] |
Расширение файлов | .ceylon [4] |
Выпуск | 1.3.3 (21 августа 2017)[3] |
Испытал влияние | Scala[5], Smalltalk[5], ML[5], Лисп[6] и Java[7][5][…] |
Лицензия | Apache License 2.0[8][9] |
Сайт | ceylon-lang.org (англ.) |
Платформа | Java Virtual Machine[10] и JavaScript[10] |
ОС | кроссплатформенность |
Ceylon — объектно-ориентированный язык программирования высокого уровня со строгой статической типизацией и комплект средств разработки, разрабатываемые компанией Red Hat. Язык основан на Java, а программы написанные на Ceylon могут быть запущены на виртуальных машинах Java или на движке JavaScript[11][12].
Перед проектом стоит задача избавления разработчиков от проблем языка Java[13][14][15]:
- улучшение структурированных данных и пользовательских интерфейсов,
- модульность версии языка,
- поддержка функций первого и более высокого порядков,
- избавление от неуклюжего метапрограммирования.
Название языка является отсылкой к языку Java (остров Ява известен как поставщик кофе, а Цейлон —ныне Шри-Ланка — является всемирно известным поставщиком чая[16]).
Особенности языка
Ceylon наследует большую часть синтаксиса Java. Пример Hello, world![17]:
shared void hello() { print("Hello, World!"); }
Полиморфизм операторов
Цейлон не будет предоставлять перегрузку операторов, поскольку она считается излишне запутанной, но вместо этого поддерживает полиморфизм операторов, при котором оператор является указателем на метод встроенного типа. Предполагается, что данный подход будет безопаснее и проще, нежели истинная перегрузка операторов.
Другие языки для платформы JVM
- Kotlin — язык программирования разрабатываемый компанией JetBrains
- Scala — язык пропагандирующий идеи FP
- Xtend — воплощение идей model-driven программирования.
- Clojure — современный диалект Лиспа
Примечания
- ↑ 1 2 http://ceylon-lang.org/community/companies/
- ↑ 1 2 http://ceylon-lang.org/community/
- ↑ Ceylon 1.3.3 is now available (неопр.). Дата обращения: 6 декабря 2022. Архивировано 6 декабря 2022 года.
- ↑ The Ceylon Language
- ↑ 1 2 3 4 https://gitter.im/ceylon/user?at=5660a7242cbea1d7054de9d9
- ↑ https://gitter.im/ceylon/user?at=5660a90e5057376520db6f8b
- ↑ http://ceylon-lang.org/documentation/1.2/faq/#what_is_ceylon
- ↑ http://ceylon-lang.org/code/licenses/
- ↑ The ceylon Open Source Project on Open Hub: Licenses Page — 2006.
- ↑ 1 2 http://ceylon-lang.org/documentation/1.1/spec/html_single/#runtimeandplatform
- ↑ Ceylon 1.0 beta (англ.). Дата обращения: 26 сентября 2013. Архивировано 28 сентября 2013 года.
- ↑ Project Ceylon – Red Hat builds Java replacement (англ.). The Register (13 апреля 2011). Дата обращения: 27 ноября 2011. Архивировано 15 октября 2011 года.
- ↑ Introducing the Ceylon Project — Gavin King presentations at QCon Beijing 2011 (неопр.). Дата обращения: 29 января 2015. Архивировано 4 апреля 2015 года.
- ↑ Gavin King. Ceylon (неопр.) (13 апреля 2011). Дата обращения: 27 ноября 2011. Архивировано 12 ноября 2011 года.
- ↑ 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. Архивировано 15 ноября 2011 года.
- ↑ McAllister, Neil Red Hat's Ceylon language is an unneeded tempest in a teapot (неопр.) (22 апреля 2011). Дата обращения: 27 сентября 2014. Архивировано 23 сентября 2014 года.
- ↑ Gavin King. Introduction to Ceylon Part 1 (неопр.) (27 апреля 2011). Дата обращения: 27 ноября 2011. Архивировано 17 ноября 2011 года.
Ссылки
- ceylon-lang.org — официальный сайт Ceylon
- ibm.com Язык программирования Ceylon: Часть 1. Общий обзор и основные функциональные возможности