The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Компания Red Hat выпустила язык программирования Ceylon 1.2"
Отправлено opennews, 29-Окт-15 18:47 
После года разработки доступен (http://www.ceylon-lang.org/blog/2015/10/29/ceylon-1-2-0/) язык программирования Ceylon 1.2.0 (http://ceylon-lang.org/), развиваемый компанией Red Hat в качестве языка общего назначения, претендующего на роль замены Java.  Для разработки приложений предоставляются Ceylon SDK (https://modules.ceylon-lang.org/categories/SDK), коллекция модулей (http://modules.ceylon-lang.org/) и интегрированная среда разработки Ceylon IDE (http://ceylon-lang.org/documentation/1.2/ide/features/), построенная на основе платформы Eclipse. Код связанных с языком компонентов распространяется (https://github.com/ceylon) под лицензией GPLv2, а код среды разработки под лицензией EPL. Бинарные пакеты можно загрузить (http://ceylon-lang.org/download/) в форматах 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" загрузки классов, обладающую такими возможностями как учет требований приложения к версиям модулей и поддержку работы сразу с несколькими репозиториями модулей, как локальными, так и внешними (http://modules.ceylon-lang.org/).

По сравнению с прошлым выпуском внесено более 1500 изменений (http://www.ceylon-lang.org/documentation/1.1/roadmap/). Из наиболее заметных улучшений  можно отметить:


-  Поддержка (http://www.ceylon-lang.org/blog/2015/06/21/constructors/)&nb...именованных конструкторов;
-  Средства для сериализации данных;
-  Поддержка аннотации "native", позволяющий использовать в кросс-платформенных модулях код, специфичный для определённых платформ;
-  Улучшение системы типизации, чувствительной к потоку выполнения (flow-sensitive);
-  Средства для деструктуририрования кортежей и записей;
-  Новые выражения let, switch, if и object;
-  Расширение возможностей аннотаций "constraint";
-  В инструмент проверки типов (typechecker) и бэкенд JavaScript добавлена поддержки конструкторов типов (http://www.ceylon-lang.org/blog/2015/06/03/generic-function-... ("type function");
-  В интегрированной среде разработки представлен новый отладчик, реализована поддержка нескольких тем подсветки синтаксиса,  добавлена опция для вставки Java-блоков как кода на языке Ceylon.


-  Новая команда "ceylon war" для упаковки модулей в пакеты в формате Java EE WAR;
-  Новая команда "ceylon browse" для открытия документации по модулю в браузере;
-  Возможность одновременного задания нескольких команд в одном вызове ceylon, например,  "ceylon compile,doc,run com.redhat.hello";
-  Возможности команды ceylon  теперь можно расширять при помощи плагинов, написанных на языке Ceylon;
-  Переработана работающая в браузере среда разработки Web IDE (http://try.ceylon-lang.org/), которая переписана на языке Ceylon и поддерживает подсветку синтаксиса, интерактивные уведомления об ошибках, автодополнение ввода, online-документацию и обмен примерами через Gist;
-  API расширен новыми функциями map(), set(), distinct(), frequences(), group(), tabulate(), summarize(), getOrDefault(), defaultNullItems(), coalescedMap, Collection.permutations(), formatFloat().

Некоторые (http://ceylon-lang.org/features/) особенности (http://ceylon-lang.org/documentation/1.2/introduction/) Ceylon:


-  Статическая типизация (тип любого значения любого выражения может быть определён без исполнения программы), позволяющая выявлять ошибки на этапе компиляции, а не в процессе исполнения;

-  Отсутствие специальных типов, всё реализовано в виде объектов;

-  Именованные и опциональные параметры;

-  Nullable-типы (http://en.wikipedia.org/wiki/Nullable_type) (кроме значений базового типа, допускается использование состояний NULL);

-  Отсутствие необходимости явного указания геттеров/сеттеров (getter/setters);

-  Определение типов для локальных блоков (через ключевое слово  "local");

-  Удобная организация работы с последовательностями (массивами);

-  Реализация функций высшего порядка, аргументом или возвращаемым результатом в которых выступают другие функции;

-  Использование для присвоения первоначальных значений (инициализации переменных) оператора ":=";

-  Новый синтаксис интерполяции строк;

-  Новые типы: Natural, Numeric и т.п.

-  Классы, методы и атрибуты выглядят одинаково;

-  Использование для определения существующих языковых концепций новых ключевых слов: shared, satisfies, assign, variable, local;

-  Упрощение уровней public, protected, private access, visibility;

-  Определение inline-функций в стиле Smalltalk.

URL: http://www.ceylon-lang.org/blog/2015/10/29/ceylon-1-2-0/
Новость: http://www.opennet.ru/opennews/art.shtml?num=43217

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру