The OpenNET Project / Index page

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

Компания Red Hat представила язык программирования Ceylon 1.1.0

10.10.2014 19:03

Представлен язык программирования Ceylon 1.1.0, развиваемый компанией Red Hat в качестве языка общего назначения, претендующего на роль замены Java. Написанные на языке Ceylon программы и модули могут выполняться в стандартной виртуальной машине Java (JVM) или компилироваться в JavaScript для выполнения в web-браузере или под управлением Node.js. Для разработки приложений предоставляются Ceylon SDK, коллекция модулей и интегрированная среда разработки Ceylon IDE, построенная на основе платформы Eclipse. Код связанных с языком компонентов распространяется под лицензией GPLv2, а код среды разработки под лицензией EPL. Бинарные пакеты можно загрузить в форматах deb и rpm.

Лидером разработки является Гэвин Кинг (Gavin King), основатель проектов Hibernate и Seam. Целью создания Ceylon было желание избавить Java от устаревших концепций и подходов, которые мешают дальнейшей эволюции языка и достижению более высокого уровня эффективности. Кроме реализации лучших возможностей Java, в Ceylon также заимствованы некоторые дополнительные конструкции из языков Smalltalk, Python и ML. Поддерживается бесшовная интеграция с другими языками, базирующимися на JVM, например, модули на языке Ceylon можно использовать в программах на Java и наоборот.

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

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

По сравнению с прошлым выпуском внесено более 1400 изменений. Из наиболее заметных улучшений можно отметить:

  • Оптимизация производительности, в том числе сокращение времени компиляции в среде разработки;
  • Более гладкое взаимодействие с перегрузкой (overloading) и шаблонами (generic) Java;
  • Поддержка из коробки средств для развёртывания Ceylon-модулей в контейнерах OSGi;
  • Расширение возможностей Ceylon SDK, добавление новых базовых модулей платформы ceylon.promise, ceylon.locale и ceylon.logging, существенное улучшение ранее доступных модулей ceylon.language, ceylon.collection, и ceylon.test;
  • Добавление новых возможностей в среду разработки Ceylon IDE, таких как новая система автоформатирвоания кода;
  • Расширение инструментов командной строки через плагины. Например, представлены плагины для форматирования кода и обеспечения сборки;
  • Подготовлен официальны модуль для интеграции с JVM-платформой Vert.x.

Некоторые Особенности Ceylon:

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


  1. Главная ссылка к новости (http://ceylon-lang.org/blog/20...)
  2. OpenNews: Выпуск языка программирования Ceylon 1.0.0, развиваемого Red Hat в качестве альтернативы Java
  3. OpenNews: Первый релиз развиваемого компанией Red Hat языка программирования Ceylon
  4. OpenNews: Компания Red Hat представила сайт и код нового языка программирования Ceylon
  5. OpenNews: Компания Red Hat представила язык программирования Ceylon, призванный заменить Java
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/40796-ceylon
Ключевые слова: ceylon
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (33) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, A.Stahl (ok), 19:11, 10/10/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • –6 +/
    >в стандартной виртуальной машине Java (JVM) или компилироваться в JavaScript

    Мне кажется или мы нашли нечто, претендующее на звание "тихий ужас"?
    Всё бы ничего -- никто же не заставляет этим пользоваться прямо сейчас, но вот когда systemd на нём перепишут...
    >оператора ":="

    Ну вот и Паскаль пригодился:)

     
     
  • 2.2, Ленивове_Древо (?), 19:15, 10/10/2014 [^] [^^] [^^^] [ответить]  
  • +/
    >оператора ":="

    Слишком долго писать, предпочитаю (?=) (+=) (=)

     
     
  • 3.16, Аноним (-), 23:16, 10/10/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Типа, "прибавить к неициниализированному значению что-то"? Не хотел бы видеть ваш код.

    >int i += 5;

     
     
  • 4.21, Ленивове_Древо (?), 07:57, 11/10/2014 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > к неициниализированному значению

    Мдк?

     
  • 2.17, dewfc (?), 00:00, 11/10/2014 [^] [^^] [^^^] [ответить]  
  • +3 +/
    >оператора ":="
    >Ну вот и Паскаль пригодился:)

    Алгол

     

  • 1.3, MPEG LA (ok), 19:21, 10/10/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    тайпскрипто- и дарто- капец.
     
  • 1.4, другой Аноним (?), 19:28, 10/10/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Кто пробовал уже? Как по скорости в сравнении с Java примерами?

    >>Лидером разработки является Гэвин Кинг (Gavin King), основатель проектов Hibernate и Seam

    Мда, впечатляет - http://seamframework.org/
    "We'll be back soon"

     
     
  • 2.7, Аноним (-), 19:56, 10/10/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А на что вы надеялись, ведь бюджет уже распилен и можно отдохнуть в пабе с собутыльниками по RHEL.
     
  • 2.8, Аноним (-), 20:02, 10/10/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Seam это очень большой и успешный проект.
     
     
  • 3.9, Анонимъ (?), 21:05, 10/10/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Steam это очень большой и успешный проект. ///fixed
    Можешь не благодарить.
     
  • 3.18, OramahMaalhur (ok), 01:31, 11/10/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    ..который стал не нужным ещё со времён Java EE 6
     
     
  • 4.24, анонимус (??), 13:10, 11/10/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Который и стал Java EE 6 и 7
     

  • 1.10, Fry33 (ok), 21:17, 10/10/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    kotlin куда перспективней выглядит.
    Осталось только запелить на его основе аналог play. хотя многие тут скажет зачем, если есть scala? а затем что скала слишком усложнена, а значит, синьер инженеров для скалы хрен найдешь, а потом и обычных инженеров хрен найдешь, который смогут код поддерживать уже написанный.
     
     
  • 2.13, JDev (?), 22:58, 10/10/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > Осталось только запелить на его основе аналог play. хотя многие тут скажет
    > зачем

    Осталось только научиться restful сервисы писать и выкинуть тормозную прослойку в виде play. хватит генерировать html на сервере

     
     
  • 3.14, Fry33 (ok), 23:00, 10/10/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >> Осталось только запелить на его основе аналог play. хотя многие тут скажет
    >> зачем
    > Осталось только научиться restful сервисы писать и выкинуть тормозную прослойку в виде
    > play. хватит генерировать html на сервере

    кроме рест есть еще всего полночего. плюс еще нужен bootstarp html, которые запустит рендеринг на стороне клиента и тд и тп.
    Да и никто не заставляет возвращать html, возращайте json - вот и рест сервис.

     
  • 2.28, ДяДя (?), 01:30, 12/10/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Со всеми JVM-языками есть маленькая неувязочка. Формально доказать корректность многопоточного кода невозможно! Java Memory Model для них НЕТ!!! JMM есть ТОЛЬКО для языка Java. Она определена в Java Language Specification, пункт 17.4 .
     
     
  • 3.29, Нимо Ан (?), 03:20, 12/10/2014 [^] [^^] [^^^] [ответить]  
  • +/
    И что?
     
     
  • 4.34, bircoph (ok), 00:08, 13/10/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > И что?

    А то, что сертифицировать такое ПО по высокой категории невозможно.

     

  • 1.11, KaE (ok), 22:22, 10/10/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Языков то, языков то развелось....накуйяя???
     
     
  • 2.12, JDev (?), 22:57, 10/10/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Какая разница сколько языков, байткод один то. Не то что в ваших сях ;)
     
     
  • 3.15, KaE (ok), 23:08, 10/10/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Какая разница сколько языков, байткод один то. Не то что в ваших
    > сях ;)

    Херачте сразу на байткоде чтоб сяшникам мозги не парить

     

  • 1.20, Xasd (ok), 05:14, 11/10/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    писать для Android -- можно на нём?
     
  • 1.22, Аноним (-), 09:02, 11/10/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Кто видел скАла над цейлоном не смеется
     
     
  • 2.30, Нимо Ан (?), 03:24, 12/10/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Кто видел скАла над цейлоном не смеется

    Что Вы хотите этим сказать? Как по мне так как раз наоборот: после программирования на Scala лично я стал воспринимать Java не иначе как ассемблер JVM-машины, а Ceylon и тому подобное - как жалкие пародии на Scala.

     

  • 1.23, YetAnotherOnanym (ok), 11:47, 11/10/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Теперь Сапописа1 должна представить язык "Мадагаскар". А чо, там тоже пингвины.
     
     
  • 2.31, Нимо Ан (?), 03:25, 12/10/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Теперь Сапописа1 должна представить язык "Мадагаскар". А чо, там тоже пингвины.

    Переименоваться в Мадагаскар и закрыться в связи с обнаружением эболы...

     

  • 1.25, Аноним (-), 13:58, 11/10/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Неудачное название - с индусами ассоциируется
     
     
  • 2.26, Аноним (-), 14:41, 11/10/2014 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Когда-то в середине 90х читал книжку про новые ПК, что существуют компьютеры желтой сборки т.е Китайские и нормальные, качественные, кажется "Белой" сборки - т.е Американские.
    Сейчас с улыбкой вспоминаются и цены из той книжки и тех описание и всё остальное.

    Сейчас все хваленные Макбуки, Йфоны - всё качественно, быстро делают в Китае, а качество Китайских аналогов уже ничем не уступает. И вряд ли кто-то сейчас увидев "сделано в Китае" подумает что-то плохое, некачественное. То же самое может произойти и с Индией (образом). Хотя уже по малу происходит - не сидите в криокамере.

     
     
  • 3.27, ffirefox (?), 17:46, 11/10/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Так китайцы в школах и институтах до сих пор изучают философию с уклоном к Марксу, а там один из законов творческое развития диалектики Гегеля это закон перехода количественных изменений в качественные. А китайцев много.

     
  • 3.33, Нимо Ан (?), 03:29, 12/10/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Побывайте в Китае и побывайте в Индии - это "день и ночь", Китай уже сам практически как Америка, а местами даже лучше.
     
  • 2.32, Нимо Ан (?), 03:26, 12/10/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Неудачное название - с индусами ассоциируется

    А ещё с Battlestar Galactica...

     

  • 1.35, edwin3d (ok), 10:14, 13/10/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Как мне кажется, на сегодня главной задачей и позиционированием языка должна стать замена JS.
    Именно JS, от которого хочется б..ть.  
    С этой точки зрения проект интересен - тем более, что проект как раз подразумевает соот. моменты.
    Что до Java .... хммм, мне лично Scala и Groovy как-то симпатичнее.    
     
     
  • 2.36, rewlad (?), 13:21, 15/10/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Scala.js же
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



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

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