]]> ]]>
Править | Обсудить | История

Ceylon

Дата создания:
2011
Создан под влиянием:
Парадигма:
Типизация:
Принятые расширения файлов:
.ceylon
Реализации и версии (свернуть все | развернуть все):
Язык программирования

Ceylon — императивный язык программирования, ориентированный на командную разработку крупных приложений.

Первый релиз языка Ceylon M1 был выпущен 17 декабря 2011 года и охватывает примерно 80% запланированных возможностей языка.

Принципы дизайна языка:

  • читабельность кода — параметр, значение которого возрастает с ростом размера команды разработчиков.
  • предсказуемость — поведение компилятора и программы должно быть интуитивно понятно, даже если ради этого придется пожертвовать некоторыми возможностями.
  • инструментарий — разработка программ ведется значительно продуктивнее при наличии среды разработки (IDE), поэтому Ceylon должен иметь свою IDE. Кроме того, сообщения об ошибках должны быть максимально информативны.
  • модульность, значение которой возрастает с ростом размеров разрабатываемых программ.
  • метапрограммирование: многие библиотеки и сложные фреймворки основаны на возможности писать код, который обрабатывает другой код.

Синтаксис языка похож на Java и C#. Ceylon в значительной мере основан на Java, но использует только лучшие решения, исправляя и улучшая неудачные.

Логотип Ceylon
Логотип 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

]]>

Работа программистам