The OpenNET Project / Index page

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

13.11.2013 23:24  Выпуск языка программирования Ceylon 1.0.0, развиваемого Red Hat в качестве альтернативы Java

Увидел свет язык программирования Ceylon 1.0.0, первый стабильный релиз, пригодный для промышленного применения. Ceylon развивается компанией Red Hat как язык общего назначения, претендующий на роль замены Java. Лидером разработки является Гэвин Кинг (Gavin King), основатель проектов Hibernate и Seam. Код связанных с языком компонентов распространяется под лицензией GPLv2, а код среды разработки под лицензией EPL. Бинарные пакеты можно загрузить в форматах deb и rpm.

В состав выпуска входят:

  • Спецификации, определяющие синтаксис и семантику языка;
  • Инструментарий, работающий в режиме командной строки. В том числе, компилятор в Java и JavaScript, а также компоненты для запуска приложений под управлением JVM и Node.js;
  • Компоненты модульной архитектуры с поддержкой управления зависимостями, изоляции модулей и логического разбиения кода;
  • Базовый модуль языка и набор вспомогательных модулей, формирующих Ceylon SDK. Отдельно доступен каталог модулей, разработанных силами сообщества;
  • Интегрированная среда разработки Ceylon IDE, построенная на основе платформы Eclipse.

Целью создания Ceylon было избавление от устаревших концепций и подходов, которые мешают дальнейшей эволюции языка Java и достижению более высокого уровня эффективности. Кроме реализации лучших возможностей Java, в Ceylon заимствованы некоторые дополнительные конструкции из языков Smalltalk, Python и ML. Написанные на языке Ceylon программы и модули могут выполняться в стандартной виртуальной машине Java (JVM) или компилироваться в JavaScript (поддерживается выполнение в браузере или под управлением Node.js).

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

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

Некоторые особенности 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: Выпуск языка программирования Rust 0.8, развиваемого проектом Mozilla
  3. OpenNews: Увидел свет язык программирования Go 1.1
  4. OpenNews: Реализация языка программирования REBOL открыта под лицензией Apache
  5. OpenNews: Проект Eclipse развивает новый язык программирования Xtend
  6. OpenNews: Новые версии языков Dart и TypeScript, претендующих на роль альтернатив JavaScript
Лицензия: CC-BY
Тип: Программы
Ключевые слова: ceylon, lang, redhat
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Линейный вид | Ajax | Показать все | RSS
 
  • 1.2, Аноним, 23:34, 13/11/2013 [ответить] [смотреть все]
  • +/
    они свою 7-ку на  Ceylon собрались переписать, поэтому и не релизят ??
     
     
  • 2.13, Сталин, 01:54, 14/11/2013 [^] [ответить] [смотреть все] [показать ветку]
  • +/
    Потом будет аналогом Firefox OS
     
  • 1.5, хрюкотающий зелюк, 00:18, 14/11/2013 [ответить] [смотреть все]
  • +/
    Не имею ничего против этого языка и даже рад что его создали. Приятно осознавать что такие замечательные платформы доступны в исходных кодах, это в любом случае хорошо.

    Сравните с недо-dot-net - бинарный блоб под 1.5 ОС - просто смешно считать это серьезной платформой.

    > Написанные на языке Ceylon программы и модули могут выполняться в стандартной виртуальной машине Java (JVM) или компилироваться в JavaScript (поддерживается выполнение в браузере или под управлением Node.js).

    Айс ^_^

     
     
  • 2.14, AnonuS, 05:00, 14/11/2013 [^] [ответить] [смотреть все] [показать ветку]
  • +7 +/
    Сразу чувствуется мнение специалиста...


    Господин хороший, растолкуй Христа ради чего тут написано:

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

     
  • 1.6, Аноним, 00:36, 14/11/2013 [ответить] [смотреть все]
  • +2 +/
    >> Классы, методы и атрибуты выглядят одинаково;

    Шта? О_о

     
  • 1.8, Аноним, 00:57, 14/11/2013 [ответить] [смотреть все]  
  • –4 +/
    Опоздали. Есть Kotlin.
     
     
  • 2.11, YetAnotherOnanym, 01:43, 14/11/2013 [^] [ответить] [смотреть все] [показать ветку]  
  • +1 +/
    А Тасмании нет? Или Мадагаскара?
     
  • 2.16, Аноним, 06:44, 14/11/2013 [^] [ответить] [смотреть все] [показать ветку]  
  • +2 +/
    Нету Kotlin, нету. Есть только попытка его создать.
     
     
  • 3.78, FractalizeR, 18:43, 14/11/2013 [^] [ответить] [смотреть все]  
  • +/
    В каком смысле?
     
     
  • 4.86, Аноним, 20:16, 14/11/2013 [^] [ответить] [смотреть все]  
  • –2 +/
    > В каком смысле?

    В прямом, ёбта. Что тебе непонятно?

     
  • 1.10, Sigurd, 01:18, 14/11/2013 [ответить] [смотреть все]  
  • +2 +/
    Есть scala и groovy
     
  • 1.17, 3draven, 06:55, 14/11/2013 [ответить] [смотреть все]  
  • +/
    В java действительно есть проблема унаследованного и обратно совместимого мусора. Я давно хотел чего то, что было бы явой, без обратной совместимости с технологиями десятилетней давности. Те же обобщения в яве просто набор обратно совместимых костылей (сделать их элементом компиляции...и только что бы в jvm не вносить новых команд), не говоря уже о спецификациях фреймворков в инфраструктуре вокруг явы. Развитие язков вроде груви,скала и цейлона всего лишь ответ на действительно существующую проблему. Ораклу стоит подумать о том что бы очистить яву от старого хлама, сделав новую ветку или что то подобное...лично я уже поглядываю в сторону новых решений...но пока рановато.
     
     
  • 2.18, 3draven, 07:00, 14/11/2013 [^] [ответить] [смотреть все] [показать ветку]  
  • +1 +/
    Кстати, при беглом осмотре целон показался более приятным чем скала и груви Не ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.19, 3draven, 07:41, 14/11/2013 [^] [ответить] [смотреть все]  
  • –1 +/
    Немного пробежав по цейлону я понял, что надо пробежать побольше нравится, бли... весь текст скрыт [показать]
     
     
  • 4.22, 3draven, 09:27, 14/11/2013 [^] [ответить] [смотреть все]  
  • +/
    Хотя java 8 во многом перекроет самые вкусные возможности цейлона В нее бы еще ... весь текст скрыт [показать]
     
     
  • 5.27, Аноним, 11:10, 14/11/2013 [^] [ответить] [смотреть все]  
  • +/
    Не холивара ради, что мешает вместо get/set сделать полям public visibility?
     
     
  • 6.33, Аноним, 11:35, 14/11/2013 [^] [ответить] [смотреть все]  
  • +/
    get set могут делать дополнительные проверки и кидать исключения, например Но в... весь текст скрыт [показать]
     
     
  • 7.36, Аноним, 11:47, 14/11/2013 [^] [ответить] [смотреть все]  
  • +1 +/
    Хмм, мне кажется наоборот, get set является как раз инструментом инкапсуляции Е... весь текст скрыт [показать]
     
     
  • 8.37, Аноним, 12:01, 14/11/2013 [^] [ответить] [смотреть все]  
  • +/
    Нет Это просто надстройки над полем Никакого сокрытия по сути не происходит, п... весь текст скрыт [показать]
     
     
  • 9.38, 3draven, 12:07, 14/11/2013 [^] [ответить] [смотреть все]  
  • –1 +/
    С инкапсуляцией я то же когда то размышлял Доразмышлялся до того, что пришел к ... весь текст скрыт [показать]
     
     
  • 10.90, 3draven, 21:14, 14/11/2013 [^] [ответить] [смотреть все]  
  • –1 +/
    Кстати В цейлоне я так понял защищенных и дефолт полей нету, они все видны внут... весь текст скрыт [показать]
     
  • 6.41, piteri, 12:39, 14/11/2013 [^] [ответить] [смотреть все]  
  • +1 +/
    Методы наследуются, поля - нет.
     
     
  • 7.50, виндотролль, 14:29, 14/11/2013 [^] [ответить] [смотреть все]  
  • +/
    > Методы наследуются, private поля - нет.

    obvious fix

     
     
  • 8.52, piteri, 14:43, 14/11/2013 [^] [ответить] [смотреть все]  
  • +/
    Прошу продемонстрировать наследование public полей
     
     
  • 9.88, виндотролль, 20:49, 14/11/2013 [^] [ответить] [смотреть все]  
  • –1 +/
    public class PublicPropertyInheritance static class A public Str... весь текст скрыт [показать]
     
     
  • 10.96, piteri, 22:34, 14/11/2013 [^] [ответить] [смотреть все]  
  • +/
    А где пример с наследованием полей? Этот был про области видимости.
     
     
  • 11.105, виндотролль, 14:04, 17/11/2013 [^] [ответить] [смотреть все]  
  • +/
    http docs oracle com javase specs jls se5 0 html classes html 8 2 1 1 ... весь текст скрыт [показать]
     
  • 7.58, iZEN, 15:10, 14/11/2013 [^] [ответить] [смотреть все]  
  • –2 +/
    А нужно ли наследование Многие высказывают мысли по поводу того, что наследован... весь текст скрыт [показать]
     
     
  • 8.69, piteri, 17:03, 14/11/2013 [^] [ответить] [смотреть все]  
  • +/
    Ну я и не давал качественной оценки Только бить тех, кто наследуется от твоих к... весь текст скрыт [показать]
     
  • 7.98, Ури, 19:13, 15/11/2013 [^] [ответить] [смотреть все]  
  • +/
    Ну что за мода все усложнять Написано же - private, а не uninherited - зачем же... весь текст скрыт [показать]
     
     
  • 8.100, piteri, 22:23, 15/11/2013 [^] [ответить] [смотреть все]  
  • +/
    Так не я же усложняю private - к наследованию перпендикулярен Ладно, вот прост... весь текст скрыт [показать]
     
     
  • 9.101, Ури, 12:20, 16/11/2013 [^] [ответить] [смотреть все]  
  • +/
    Этот код не должен компилироваться и не компилируется Ибо overridden method is... весь текст скрыт [показать]
     
     
  • 10.102, piteri, 22:30, 16/11/2013 [^] [ответить] [смотреть все]  
  • +/
    Спасибо, Кэп. Но к final полю претензий таки нет.
     
     
  • 11.103, Ури, 12:48, 17/11/2013 [^] [ответить] [смотреть все]  
  • +/
    А к чему тогда вообще претензии Если они относятся не к языку, а к неким своим ... весь текст скрыт [показать]
     
  • 9.104, виндотролль, 14:04, 17/11/2013 [^] [ответить] [смотреть все]  
  • +/
    gt оверквотинг удален Ты либо глуп, либо упорот, либо жирнющий тролль Читай д... весь текст скрыт [показать]
     
  • 6.57, iZEN, 15:04, 14/11/2013 [^] [ответить] [смотреть все]  
  • –3 +/
    Искренняя и несовратимая убеждённость в том, что это плохо ... весь текст скрыт [показать]
     
  • 1.23, Baz, 09:29, 14/11/2013 [ответить] [смотреть все]  
  • –1 +/
    интересно, если оно действительно будет быстрей, то мб гугл заберёт это на ведроид, тем более, что по обещаниям работает на той-же JVM...
     
     
  • 2.40, none_first, 12:34, 14/11/2013 [^] [ответить] [смотреть все] [показать ветку]  
  • +1 +/
    у гугла не жвм, а дальвик
     
     
  • 3.68, bOOster, 16:32, 14/11/2013 [^] [ответить] [смотреть все]  
  • –1 +/
    > у гугла не жвм, а дальвик

    Не далеко ушел )

     
     
  • 4.71, piteri, 17:03, 14/11/2013 [^] [ответить] [смотреть все]  
  • +1 +/
    >> у гугла не жвм, а дальвик
    > Не далеко ушел )

    Далеко.

     
     
  • 5.87, Аноним, 20:17, 14/11/2013 [^] [ответить] [смотреть все]  
  • +/
    Не Те же яйца, вид сбоку ... весь текст скрыт [показать]
     
     
  • 6.99, el torito, 21:24, 15/11/2013 [^] [ответить] [смотреть все]  
  • +/
    Ололо. JVM - стековая, в то время как Dalvik - регистровая. (рукалицо)
     
     
  • 7.106, bOOster, 07:06, 28/11/2013 [^] [ответить] [смотреть все]  
  • +/
    Ой, дети рукалицо , C компилятор тоже может создавать бинарный код как для ... весь текст скрыт [показать]
     
  • 3.73, kurokaze, 18:33, 14/11/2013 [^] [ответить] [смотреть все]  
  • +1 +/
    В KitKat альтернатива появилась. Пока экспериментальная
     
  • 1.25, Аноним, 10:47, 14/11/2013 [ответить] [смотреть все]  
  • –2 +/
    IDE на скриншоте одна из самых отвратительных, что я видел Такое чувство, что у... весь текст скрыт [показать]
     
     
  • 2.29, Аноним, 11:18, 14/11/2013 [^] [ответить] [смотреть все] [показать ветку]  
  • +3 +/
    Ты еще IDE Visual C не видел ... весь текст скрыт [показать] [показать ветку]
     
  • 2.32, Аноним, 11:34, 14/11/2013 [^] [ответить] [смотреть все] [показать ветку]  
  • +1 +/
    Опачки! уже и на Эклипс гонят =о
     
     
  • 3.39, Анончик, 12:30, 14/11/2013 [^] [ответить] [смотреть все]  
  • –3 +/
    После php-блокнотика всё кажется конфеткой?
     
  • 2.44, Aceler, 12:45, 14/11/2013 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Да, на мак её собирают левой задней пяткой, но кто в здравом уме кодит на мак?
     
     
  • 3.48, arisu, 14:11, 14/11/2013 [^] [ответить] [смотреть все]  
  • +/
    да вот как раз всякие грувисты, скакальщики и прочая 8230 ... весь текст скрыт [показать]
     
  • 3.74, kurokaze, 18:34, 14/11/2013 [^] [ответить] [смотреть все]  
  • –1 +/
    Пофиксил, не благодари ... весь текст скрыт [показать]
     
     
  • 4.81, Aceler, 19:27, 14/11/2013 [^] [ответить] [смотреть все]  
  • +/
    На скриншоте мак И О К О ... весь текст скрыт [показать]
     
  • 3.82, йцук, 19:45, 14/11/2013 [^] [ответить] [смотреть все]  
  • –1 +/
    А есть какие-то ограничения Или может программы под МасОS X нужно писать не под... весь текст скрыт [показать]
     
     
  • 4.84, arisu, 19:56, 14/11/2013 [^] [ответить] [смотреть все]  
  • +3 +/
    программы под макость просто не нужно писать.
     
  • 2.56, iZEN, 15:03, 14/11/2013 [^] [ответить] [смотреть все] [показать ветку]  
  • –2 +/
    На скриншоте типичная Eclipse В ней, кстати, и шрифт хорошо настраивается в од... весь текст скрыт [показать] [показать ветку]
     
     
     
     
    Часть нити удалена модератором

  • 5.83, йцук, 19:48, 14/11/2013 [^] [ответить] [смотреть все]  
  • +/
    Какой он админ Ему бы школу закончить ... весь текст скрыт [показать]
     
     
  • 6.85, arisu, 20:00, 14/11/2013 [^] [ответить] [смотреть все]  
  • +1 +/
    о, ещё один считает, что Чёрная Админская Магия ВНИЗАПНА отучит эклипс тормозит... весь текст скрыт [показать]
     
  • 5.79, arisu, 18:56, 14/11/2013 [^] [ответить] [смотреть все]  
  • –1 +/
    видел, но весьма давно был в молодости грешок с java me ... весь текст скрыт [показать]
     
  • 3.75, kurokaze, 18:36, 14/11/2013 [^] [ответить] [смотреть все]  
  • +/
    Чего поймут то У меня Эклипс почти как остальные KDE-шные программы выглядит ... весь текст скрыт [показать]
     
  • 1.26, anonymouse, 11:02, 14/11/2013 [ответить] [смотреть все]  
  • –1 +/
    У каждого производителя свой велосипед.
     
  • 1.28, Аноним, 11:14, 14/11/2013 [ответить] [смотреть все]  
  • –1 +/
    Java штопают-штопают, еще это будут штопать. библиотек наверно кот наплакал.
     
     
  • 2.30, Аноним, 11:20, 14/11/2013 [^] [ответить] [смотреть все] [показать ветку]  
  • +1 +/
    Библиотеки годятся от Java. Зачем переписывать то, что работает?
     
  • 1.31, piteri, 11:33, 14/11/2013 [ответить] [смотреть все]  
  • +/
    Хм, а сахар то на порядок лучше и грамотнее чем в шарпе.
     
  • 1.34, анон, 11:41, 14/11/2013 [ответить] [смотреть все]  
  • +/
    > Использование для присвоения первоначальных значений (инициализации переменных) оператора ":=";

    а смысл?

     
     
  • 2.35, Аноним, 11:47, 14/11/2013 [^] [ответить] [смотреть все] [показать ветку]  
  • –1 +/
    В Scala декларация переменной как в паскале через двоеточие и типом справа, а ту... весь текст скрыт [показать] [показать ветку]
     
  • 1.42, Aceler, 12:43, 14/11/2013 [ответить] [смотреть все]  
  • +3 +/
    > html html = html {

    Отличная читаемость!

     
     
  • 2.65, Аноним, 16:09, 14/11/2013 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    а так:
    html page_1=html{

    ?

     
  • 1.45, Чудик, 12:58, 14/11/2013 [ответить] [смотреть все]  
  • –3 +/
    Накуа все это? О_о В Java фатальный недостаток?
     
     
  • 2.55, linux must __RIP__, 15:01, 14/11/2013 [^] [ответить] [смотреть все] [показать ветку]  
  • –2 +/
    потому что Java контролирует не redhat :-)
     
     
  • 3.59, iZEN, 15:13, 14/11/2013 [^] [ответить] [смотреть все]  
  • +/
    Почему И она в том числе 07 03 2013 23 18 Компания Red Hat возглавила разрабо... весь текст скрыт [показать]
     
  • 1.47, arisu, 14:08, 14/11/2013 [ответить] [смотреть все]  
  • –3 +/
    рассуждения жабоидов об объектном программировании несколькими ветками выше неим... весь текст скрыт [показать]
     
  • 1.66, bOOster, 16:27, 14/11/2013 [ответить] [смотреть все]  
  • +2 +/
    -"Целью создания Ceylon было избавление от устаревших концепций и подходов, которые мешают дальнейшей эволюции языка Java и достижению более высокого уровня эффективности."
    ДА УЖ!! До эффективности явы этим "поделкам из песочницы" еще ползти и ползти...
    -"Кроме реализации лучших возможностей Java, в Ceylon заимствованы некоторые дополнительные конструкции из языков Smalltalk, Python и ML."
    И от стройных абстракций явы выползает покореженный мутант. 10 рук 10 ног пришитых, только голова как и было по 2 ноги и руки обслуживает. Зачем остальные? - А остальные этож Smalltalk Python и ML :)
     
     
  • 2.70, arisu, 17:03, 14/11/2013 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    > стройных абстракций явы

    спасибо, посмеялся.

     
     
  • 3.89, виндотролль, 20:59, 14/11/2013 [^] [ответить] [смотреть все]  
  • +1 +/
    Вероятно, имелась ввиду простая и понятная парадигма И это правда Многие особе... весь текст скрыт [показать]
     
  • 2.77, kurokaze, 18:40, 14/11/2013 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Ты не обижайся, но в тебе юношеский максимализм говорит

     
     
  • 3.94, bOOster, 21:34, 14/11/2013 [^] [ответить] [смотреть все]  
  • +/
    Рекомендую классиков вспоминать иногда
    -"Все гениальное - просто"
     
  • 1.92, Аноним, 21:17, 14/11/2013 [ответить] [смотреть все]  
  • –1 +/
    Цейлон, дарт... Шапки с гулом сговорились?
     
  • 1.97, Ури, 12:04, 15/11/2013 [ответить] [смотреть все]  
  • +4 +/
    Джависты такие джависты А давайте возьмем что-то хорошее из других языков, н... весь текст скрыт [показать]
     

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


      Закладки на сайте
      Проследить за страницей
    Created 1996-2017 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    Hosting by Ihor