Новости IT, хостинга
  Android, Apple, Facebook, Google, Linux, Microsoft, Samsung, Twitter, Интернет, Россия, браузеры, обновление ПО, онлайн-сервисы, операционные системы, планшеты, рынок ИТ, сделки, смартфоны, социальные сети, уязвимости  
  новостей: 10385
  комментариев: 3200

Первый релиз развиваемого компанией Red Hat языка программирования Ceylon


Представлен первый релиз языка программирования Ceylon (Milestone 1), развиваемого компанией Red Hat как языка общего назначения, претендующего на роль замены Java. В состав выпуска входят компилятор, runtime-компоненты и набор стандартных модулей. Через несколько дней планируется выпустить интегрированную среду разработки Ceylon IDE, построенную на базе Eclipse. Код связанных с языком компонентов распространяется под лицензией GPLv2, а код среды разработки под лицензией EPL. Бинарные пакеты можно загрузить в форматах deb и rpm.

Первый релиз "Milestone 1" имеет статус экспериментального выпуска, на базе которого, после публикации ещё четырёх Milestone-выпусков, будет подготовлен стабильный релиз Ceylon 1.0. В первом выпуске реализована поддержка выражений, базовых возможностей языка, процедурного и объектно-ориентированного кода. В следующих экспериментальных выпусках появятся средства функционального программирования, поддержка смешанного наследования, вложенных классов, псевдонимов типов, конструкции switch/case, перечисляемых типов, аннотаций, мета-модели типов, перехвата методов, атрибутов и классов.

Создатели Ceylon поставили перед собой цель избавления от устаревших концепций и подходов, которые мешают дальнейшей эволюции языка Java и достижению более высокого уровня эффективности. Кроме реализации лучших возможностей Java, в Ceylon заимствованы некоторые дополнительные конструкции из языков Smalltalk, Python и ML. Написанные на языке Ceylon программы и модули могут выполняться в стандартной виртуальной машине Java (JVM). Поддерживается бесшовная интеграция с другими языками, базирующимися на JVM, например, модули на языке Ceylon можно использовать в программах на Java и наоборот. Язык использует статическую типизацию и спроектирован с оглядкой на простоту изучения, лёгкость восприятия кода и разработку больших проектов, в которых участвует большое число программистов. Синтаксис Ceylon во многом напоминает Си, Java и C#.

Отмечается, что при помощи Ceylon значительно проще создавать фреймворки и библиотеки классов, а также естественно описывать древовидные структуры (в частности, формировать пользовательский интерфейс). В язык добавлены элементы, упрощающие написание кода, который можно использовать повторно в других проектах. Модули на языке Ceylon упаковываются в архивы .car и помещаются в специальные репозитории. В процессе выполнения приложения нужные модули загружаются сразу из внешнего или локального репозитория, не требуя предварительной установки. Язык поддерживает архитектуру модульной "peer-to-peer" загрузки классов, обладающую такими возможностями как учет требований приложения к версиям модулей и поддержку работы сразу с несколькими репозиториями модулей, как локальными, так и внешними (первый релиз поддерживает только локальные репозитории, поддержка внешнего репозитория modules.ceylon-lang.org появится в следующем выпуске).

Некоторые особенности Ceylon:
Статическая типизация (тип любого значения любого выражения может быть определён без исполнения программы), позволяющая выявлять ошибки на этапе компиляции, а не в процессе исполнения;
Отсутствие специальных типов, всё реализовано в виде объектов;
Именованные и опциональные параметры;
Nullable-типы (кроме значений базового типа, допускается использование состояний NULL);
Отсутствие необходимости явного указания геттеров/сеттеров (getter/setters);
Определение типов для локальных блоков (через ключевое слово "local");
Удобная организация работы с последовательностями (массивами);
Реализация функций высшего порядка, аргументом или возвращаемым результатом в которых выступают другие функции;
Использование для присвоения первоначальных значений (инициализации переменных) оператора ":=";
Новый синтаксис интерполяции строк;
Новые типы: Natural, Numeric и т.п.
Классы, методы и атрибуты выглядят одинаково;
Использование для определения существующих языковых концепций новых ключевых слов: shared, satisfies, assign, variable, local;
Упрощение уровней public, protected, private access, visibility;
Определение inline-функций в стиле Smalltalk.


Источник: opennet.ru

  22 декабря 2011 595
Версия для печати

← предыдущая новость следующая новость →

Мой комментарий
Ваше имя*:
Email:
Комментарий*:
Зарегистрироваться автоматически: Вы будете зарегистрированы на сайте автоматически при добавлении комментария. Обязательно заполните поле Email для этого.
Сумма чисел 9 и 15*:            


Хостеры (2472)
HostDB (35)
Софт (2640)
Железо (993)
Интернет (1435)
Статистика и аналитика (3324)




Отправить сообщение администратору

Сумма чисел 13 и 3*:


Яндекс цитирования
сообщить о неточности