Компания Red Hat представила сайт и код нового языка программирования Ceylon
22 ноября 2011 года
Для формирования сообщества разработчиков на языке программирования Ceylon введён в строй сайт проекта - ceylon-lang.org и открыт доступ к Git-репозиториям с кодом. Язык Ceylon был представлен компанией Red Hat в апреле этого кода, как язык общего назначения, претендующий на роль замены Java. Спецификации Ceylon, код компилятора, runtime-компонентов, библиотек и интегрированной среды разработки на базе Eclipse можно загрузить из GitHub. Реализация компилятора Ceylon написана на языке Java. Код доступен под лицензией GPLv2.
Учтя сильные и слабые стороны языка Java, создатели Ceylon поставили перед собой цель избавления от устаревших концепций и подходов, которые мешают дальнейшей эволюции Java и достижения более высокого уровня эффективности. Написанные на языке Ceylon программы могут выполняться в стандартной виртуальной машине Java (JVM). Язык использует статическую типизацию и спроектирован с оглядкой на простоту изучения и лёгкость восприятия кода. Синтаксис Ceylon во многом напоминает Java и C#. Отмечается, что при помощи Ceylon значительно проще создавать фреймворки и библиотеки классов, а также естественно описывать древовидные структуры (в частности, пользовательский интерфейс).
В настоящий момент проект находится на стадии подготовки первого экспериментального выпуска (Milestone 1), который ожидается после устранения нескольких нерешенных проблем. В первом выпуске будет реализована поддержка выражений, базовых возможностей языка, процедурного и объектно-ориентированного кода. Во втором тестовом выпуске появятся средства функционального программирования, поддержка смешанного наследования, вложенных классов, псевдонимов типов и конструкции switch/case. В третьем выпуске, который будет распространяться как Ceylon 1.0, намечена поддержка аннотаций, мета-модели типов, перехвата методов, атрибутов и классов.
Некоторые особенности Ceylon:
- Статическая типизация (тип любого значения любого выражения может быть определён без исполнения программы), позволяющая выявлять ошибки на этапе компиляции, а не в процессе исполнения;
- Отсутствие специальных типов, всё реализовано в виде объектов;
- Именованные и опциональные параметры;
- Nullable-типы (кроме значений базового типа, допускается использование состояний NULL);
- Отсутствие необходимости явного указания геттеров/сеттеров (getter/setters);
- Определение типов для локальных блоков (через ключевое слово "local");
- Удобная организация работы с последовательностями (массивами);
- Реализация функций высшего порядка, аргументом или возвращаемым результатом в которых выступают другие функции;
- Использование для присвоения первоначальных значений (инициализации переменных) оператора ":=";
- Новый синтаксис интерполяции строк;
- Новые типы: Natural, Numeric и т.п.
- Классы, методы и атрибуты выглядят одинаково;
- Использование для определения существующих языковых концепций новых ключевых слов: shared, satisfies, assign, variable, local;
- Упрощение уровней public, protected, private access, visibility;
- Определение inline-функций в стиле Smalltalk.
Источники
правитьЛюбой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.