Ceylon
- Дата создания:
- 2011
- Создан под влиянием:
- Парадигма:
- Типизация:
- Принятые расширения файлов:
- .ceylon
- Реализации и версии (свернуть все | развернуть все):
Ceylon — императивный язык программирования, ориентированный на командную разработку крупных приложений.
Первый релиз языка Ceylon M1 был выпущен 17 декабря 2011 года и охватывает примерно 80% запланированных возможностей языка.
Принципы дизайна языка:
- читабельность кода — параметр, значение которого возрастает с ростом размера команды разработчиков.
- предсказуемость — поведение компилятора и программы должно быть интуитивно понятно, даже если ради этого придется пожертвовать некоторыми возможностями.
- инструментарий — разработка программ ведется значительно продуктивнее при наличии среды разработки (IDE), поэтому Ceylon должен иметь свою IDE. Кроме того, сообщения об ошибках должны быть максимально информативны.
- модульность, значение которой возрастает с ростом размеров разрабатываемых программ.
- метапрограммирование: многие библиотеки и сложные фреймворки основаны на возможности писать код, который обрабатывает другой код.
Синтаксис языка похож на Java и C#. Ceylon в значительной мере основан на Java, но использует только лучшие решения, исправляя и улучшая неудачные.
Логотип Ceylon
Ссылки:
Примеры:
Hello, World!:
Пример для версий Ceylon M1Допустим, эта программа принадлежит модулю helloworld.progopedia.com
. Тогда сам код программы должен находиться в файле /source/com/progopedia/helloworld.ceylon
(относительно главной директории программы, из которой она будет запускаться). Кроме того, в файле /source/com/progopedia/module.ceylon
должно находиться описание модуля, например, такое:
Module module {
name = 'com.progopedia.helloworld';
version = '1.0.0';
by = {"Mariia Mykhailova"};
dependencies = {};
doc = "Hello, World!";
license = 'Public domain';
}
После этого программу можно скомпилировать командой ceylonc com.progopedia.helloworld
и запустить командой ceylon com.progopedia.helloworld/1.0.0
(указание версии при запуске обязательно).
void run() {
print("Hello, World!");
}
Факториал:
Пример для версий Ceylon M1В этом примере факториалы вычисляются итеративно. Ключевое слово variable
указывает на то, что значение переменной fact
будет изменяться позднее (в Java, напротив, ключевое слово final
указывает на то, что значение переменной изменяться не будет). Тип Integer
позволяет хранить значения факториалов без переполнения. Оператор конкатенации аргументов команды print
не требует отдельного оператора, но при этом первый и последний элемент из списка конкатенируемых должны быть строками.
void run() {
variable Integer fact := 1;
for (i in 0..16) {
print("" i "! = " fact "");
fact *= i + 1;
}
}
Числа Фибоначчи:
Пример для версий Ceylon M1В этом примере используется итеративное вычисление чисел Фибоначчи.
void run() {
variable String output := "";
variable Integer fib1 := 0;
variable Integer fib2 := 1;
variable Integer fib3;
for (i in 1..16) {
output := "" output "" fib2 ", ";
fib3 := fib1 + fib2;
fib1 := fib2;
fib2 := fib3;
}
print("" output "...");
}
Комментарии
]]>blog comments powered by Disqus
]]>