Ceylon
Ceylon — объектно-ориентированный язык программирования высокого уровня со строгой статической типизацией и комплект средств разработки, разрабатываемые компанией Red Hat. Язык основан на Java, а программы написанные на Ceylon могут быть запущены на виртуальных машинах Java или на движке JavaScript[11][12].
Перед проектом стоит задача избавления разработчиков от проблем языка Java[13][14][15]:
- улучшение структурированных данных и пользовательских интерфейсов,
- модульность версии языка,
- поддержка функций первого и более высокого порядков,
- избавление от неуклюжего метапрограммирования.
Название языка является отсылкой к языку Java (остров Ява известен как поставщик кофе, а Цейлон —ныне Шри-Ланка — является всемирно известным поставщиком чая[16]).
Общие сведения
| Ceylon | |
|---|---|
| Класс языка | объектно-ориентированный язык программирования, свободное программное обеспечение, Язык программирования, язык функционального программирования, мультипарадигмальный язык программирования, императивный язык программирования и язык JVM |
| Появился в | 2011 |
| Разработчик | Red Hat[1][2] и Гэ́вин Кинг[d] |
| Расширение файлов |
.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 наследует большую часть синтаксиса Java. Пример Hello, world![17]:
shared void hello() {
print("Hello, World!");
}
Цейлон не будет предоставлять перегрузку операторов, поскольку она считается излишне запутанной, но вместо этого поддерживает полиморфизм операторов, при котором оператор является указателем на метод встроенного типа. Предполагается, что данный подход будет безопаснее и проще, нежели истинная перегрузка операторов.
Другие языки для платформы JVM
Примечания
Ссылки
- ceylon-lang.org — официальный сайт Ceylon
- ibm.com Язык программирования Ceylon: Часть 1. Общий обзор и основные функциональные возможности