Компания Red Hat выпустила язык программирования Ceylon 1.2
29 октября 2015 года
После года разработки доступен язык программирования Ceylon 1.2.0, развиваемый компанией Red Hat в качестве языка общего назначения, претендующего на роль замены Java. Для разработки приложений предоставляются Ceylon SDK, коллекция модулей и интегрированная среда разработки Ceylon IDE, построенная на основе платформы Eclipse. Код связанных с языком компонентов распространяется под лицензией GPLv2, а код среды разработки под лицензией EPL. Бинарные пакеты можно загрузить в форматах deb и rpm.
Целью разработки Ceylon является желание избавить Java от устаревших концепций и подходов, которые мешают дальнейшей эволюции языка и достижению более высокого уровня эффективности. Кроме реализации лучших возможностей Java, в Ceylon также заимствованы некоторые дополнительные конструкции из языков Smalltalk, Python и ML. Написанные на языке Ceylon программы и модули могут выполняться в стандартной виртуальной машине Java (JVM) или компилироваться в JavaScript для выполнения в web-браузере или под управлением Node.js. Поддерживается бесшовная интеграция с другими языками, базирующимися на JVM, например, модули на языке Ceylon можно использовать в программах на Java и наоборот.
Язык использует статическую типизацию и спроектирован с оглядкой на простоту изучения, лёгкость восприятия кода и разработку больших проектов, в которых участвует большое число программистов. Синтаксис Ceylon во многом напоминает Си, Java и C#. При помощи Ceylon значительно проще создавать фреймворки и библиотеки классов, а также естественно описывать древовидные структуры (в частности, формировать пользовательский интерфейс). В язык добавлены элементы, упрощающие написание кода, который можно использовать повторно в других проектах.
Модули на языке Ceylon упаковываются в архивы .car и помещаются в специальные репозитории. В процессе выполнения приложения нужные модули загружаются сразу из внешнего или локального репозитория, не требуя предварительной установки. Язык поддерживает архитектуру модульной "peer-to-peer" загрузки классов, обладающую такими возможностями как учет требований приложения к версиям модулей и поддержку работы сразу с несколькими репозиториями модулей, как локальными, так и внешними.
По сравнению с прошлым выпуском внесено более 1500 изменений. Из наиболее заметных улучшений можно отметить:
- Поддержка именованных конструкторов;
- Средства для сериализации данных;
- Поддержка аннотации "native", позволяющий использовать в кросс-платформенных модулях код, специфичный для определённых платформ;
- Улучшение системы типизации, чувствительной к потоку выполнения (flow-sensitive);
- Средства для деструктуририрования кортежей и записей;
- Новые выражения let, switch, if и object;
- Расширение возможностей аннотаций "constraint";
- В инструмент проверки типов (typechecker) и бэкенд JavaScript добавлена поддержки конструкторов типов ("type function");
- В интегрированной среде разработки представлен новый отладчик, реализована поддержка нескольких тем подсветки синтаксиса, добавлена опция для вставки Java-блоков как кода на языке Ceylon.
- Новая команда "ceylon war" для упаковки модулей в пакеты в формате Java EE WAR;
- Новая команда "ceylon browse" для открытия документации по модулю в браузере;
- Возможность одновременного задания нескольких команд в одном вызове ceylon, например, "ceylon compile,doc,run com.redhat.hello";
- Возможности команды ceylon теперь можно расширять при помощи плагинов, написанных на языке Ceylon;
- Переработана работающая в браузере среда разработки
Источники[править]
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии[править]
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.