URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 105238
[ Назад ]

Исходное сообщение
"Компания 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


Содержание

Сообщения в этом обсуждении
"Компания Red Hat выпустила язык программирования Ceylon 1.2"
Отправлено Аноним , 29-Окт-15 18:47 
Ну началось, кто следующий?

"Компания Red Hat выпустила язык программирования Ceylon 1.2"
Отправлено Аноним , 29-Окт-15 20:53 
вся проблема в патентовании: проще, видимо, новый язык создать, чем отчисления за пользование существующим оплатить.
отсюда вывод: концентрации человечьего мозгоресурса на одном продукте мешает патентная система, она - зло.

"Компания Red Hat выпустила язык программирования Ceylon 1.2"
Отправлено DarkAmateur , 29-Окт-15 18:58 
> let

Это было в Симпсон^wБейсике.


"Компания Red Hat выпустила язык программирования Ceylon 1.2"
Отправлено Andrey Mitrofanov , 29-Окт-15 19:12 
>> let
> Это было в

Это есть в bash-е!


"Компания Red Hat выпустила язык программирования Ceylon 1.2"
Отправлено Уже давно , 29-Окт-15 19:21 
Это есть в JS и Rust'е!

"Компания Red Hat выпустила язык программирования Ceylon 1.2"
Отправлено Аноним , 29-Окт-15 20:44 
это есть в английксом.

"Компания Red Hat выпустила язык программирования Ceylon 1.2"
Отправлено XoRe , 31-Окт-15 23:44 
> это есть в английксом.

это было в латыни!


"Компания Red Hat выпустила язык программирования Ceylon 1.2"
Отправлено Аноним , 29-Окт-15 22:02 
> Это есть в JS и Rust'е!

Это есть в Ocaml


"Компания Red Hat выпустила язык программирования Ceylon 1.2"
Отправлено test , 29-Окт-15 19:03 
Прожорливый поди.

"Компания Red Hat выпустила язык программирования Ceylon 1.2"
Отправлено Илья , 29-Окт-15 19:22 
>>Классы, методы и атрибуты выглядят одинаково

смешались в кучу кони, люди


"Компания Red Hat выпустила язык программирования Ceylon 1.2"
Отправлено Аноним , 29-Окт-15 20:47 
Хорошо, что буквы не цейлонские, ато они у них сильно непонятные.

"Компания Red Hat выпустила язык программирования Ceylon 1.2"
Отправлено Аноним , 30-Окт-15 06:29 
class Counter(count=0) {
    variable Integer count;
    shared Integer currentValue => count;
    shared void increment() => count++;
}
Именно "Вериэйбл"

function distance(Point from, Point to) {
    return ((from.x-to.x)^2 + (from.y-to.y)^2)^0.5;
}
Именно "Фанкшн". То, что это функция определенно важнее того, что она возвращает.

interface Sized {
    shared formal Integer size;
    shared Boolean empty => size==0;
}
Это абстрактный класс? или Интерфейс? У интерфейса, вообще, бывают не публичные методы? И почему шаред? Он что, методами поделился?

for (p in people)
Ожидаем foreach(int i=0;i<j;i++)


"Компания Red Hat выпустила язык программирования Ceylon 1.2"
Отправлено Аноним , 30-Окт-15 15:35 
Ну, они же ещё заявляют, что язык прост в изучении. Никаких сокращений ключевых слов. Именно "Вэриэйбл". Именно "шаред". Чтобы сразу было всем всё понятно. Написано же, интерфейс методами делится.

С другой стороны, в Rust читать всякие fn, pub.. не приятнее.


"Компания Red Hat выпустила язык программирования Ceylon 1.2"
Отправлено th3m3 , 29-Окт-15 19:25 
Сколько можно то?! Ещё один язык? Очередная замена Java? Ааааа...

"Компания Red Hat выпустила язык программирования Ceylon 1.2"
Отправлено ДяДя , 29-Окт-15 19:41 
Есть косяк. Java Memory Model описывает только язык Java.
Если чего-то скомпилировать в байткод, то для многопоточных приложений никаких гарантий нет.
Вообще нет никакого описания. Т.о. невозможно написать корректное многопоточное приложение.
Это же относится к Scala и прочим.
Единственный выход - это Red Hat должен создать собственную спецификацию модели памяти. А это даже SUN-у с первого раза не удалось. На Java до версии 1.5 невозможно написать корректное многопоточное приложение.

"Компания Red Hat выпустила язык программирования Ceylon 1.2"
Отправлено й , 30-Окт-15 00:46 
> Т.о. невозможно написать корректное многопоточное приложение.
> Это же относится к Scala и прочим.

orly? http://akka.io/


"Компания Red Hat выпустила язык программирования Ceylon 1.2"
Отправлено ДяДя , 30-Окт-15 10:54 
У них баги открытые. Например, Offer stronger guarantees under the Java Memory model for List, Vector. И куча закрытых по данной теме.
А гарантий-то дать невозможно. Просто опереться на что-нибудь возможности нет. У JVM нет никакой модели памяти. Есть только у языка Java.
Ещё есть некоторые забавные штуки, когда кусок кода на Java в несколько раз быстрее выполняется. Детектится, что можно вставить специальные инструкции процессора. Для Scala это не тетектится.

На X86 просто так сложно получить эффект от некорректности многопоточного приложения - TSO. Но он проявляется в самых неожиданных местах в самое неподходящие время :-)


"Компания Red Hat выпустила язык программирования Ceylon 1.2"
Отправлено Аноним , 29-Окт-15 19:46 
> Html html = Html {

Всегда проигрываю с такого. И это пример кода на главной странице языка.


"Компания Red Hat выпустила язык программирования Ceylon 1.2"
Отправлено EHLO , 29-Окт-15 20:51 
"претендующего на роль замены Java"

"Компания Red Hat выпустила язык программирования Ceylon 1.2"
Отправлено Аноним , 30-Окт-15 14:01 
> Val document = Html {

определенно было бы лучше


"Компания Red Hat выпустила язык программирования Ceylon 1.2"
Отправлено Илья , 29-Окт-15 19:46 
Щас про все языки так говорят: "у нас синтаксис как в си!".

Ceylon's syntax is ultimately derived from C. So if you're a C, Java, or C# programmer, you'll immediately feel right at home.

Я после ознакомления с туром по языку не чувствую себя как дома. совсем


"Компания Red Hat выпустила язык программирования Ceylon 1.2"
Отправлено Аноним , 29-Окт-15 19:48 
И вообще, слоник на лого уже занят PHP

"Компания Red Hat выпустила язык программирования Ceylon 1.2"
Отправлено username , 29-Окт-15 20:23 
postresql... hadoop...

"Компания Red Hat выпустила язык программирования Ceylon 1.2"
Отправлено Аноним , 29-Окт-15 20:50 
Этот слон не от PHP, а с пачки цейлонского чая. Бренд куплен, всё нормально.

"Компания Red Hat выпустила язык программирования Ceylon 1.2"
Отправлено Нанобот , 29-Окт-15 19:58 
смотрю, пошла мода на то, что любая крупная софтверная контора разрабатывает свой язык программирования. может и мишаня там что-то пилит?

"Компания Red Hat выпустила язык программирования Ceylon 1.2"
Отправлено Аноним , 29-Окт-15 20:23 
очередное ненужно.

кто нибуть уже осилит уже сделать ЯП для jvm чтоб создавало бандлы с встроенной jvm?


"Компания Red Hat выпустила язык программирования Ceylon 1.2"
Отправлено Eklykti , 29-Окт-15 20:29 
зоопарк какой-то

"Компания Red Hat выпустила язык программирования Ceylon 1.2"
Отправлено Аноним , 29-Окт-15 20:57 
Почему новые языки называют либо в честь кофя, либо в честь чая? Жду языков Tort, Baton и Pirogspovidlom.

"Компания Red Hat выпустила язык программирования Ceylon 1.2"
Отправлено ffirefox , 30-Окт-15 23:04 
> Почему новые языки называют либо в честь кофя, либо в честь чая?

Ну, почему же... есть и другие ассоциации. Например, с островом: Kotlin ;)


"Компания Red Hat выпустила язык программирования Ceylon 1.2"
Отправлено Аноним , 31-Окт-15 00:39 
Кажется я придумал как назову своя язык.

"Компания Red Hat выпустила язык программирования Ceylon 1.2"
Отправлено Defective Life , 29-Окт-15 21:46 
Зачем это все, если есть Fortran, Ada и С??? Нє, ну вот реально, нафейхоа??? Не хватает чего-то кому-то, или шо?

"Компания Red Hat выпустила язык программирования Ceylon 1.2"
Отправлено Илья , 30-Окт-15 06:05 
чтобы быстро и качественно разрабатывать и поддерживать по.

"Компания Red Hat выпустила язык программирования Ceylon 1.2"
Отправлено Аноним , 30-Окт-15 10:10 
Посмотрев на примеры в Web IDE есть сомнения

"Компания Red Hat выпустила язык программирования Ceylon 1.2"
Отправлено Аноним , 30-Окт-15 08:55 
Чтобы не платить патентных отчислений.

"Компания Red Hat выпустила язык программирования Ceylon 1.2"
Отправлено 1 , 30-Окт-15 10:15 
Тогда юзаем алгол-68

"Компания Red Hat выпустила язык программирования Ceylon 1.2"
Отправлено Штунц , 30-Окт-15 01:38 
> По сравнению с прошлым выпуском внесено более 1500 изменений

прочитал как 100500 изменений


"Компания Red Hat выпустила язык программирования Ceylon 1.2"
Отправлено A.Stahl , 30-Окт-15 02:26 
>Ceylon

Только выпустили, а уже устарели. Шри-Ланка, Ктулху вас обрыгай. Шри-Ланка, сраные империалисты.
Цейлон, ага...


"Компания Red Hat выпустила язык программирования Ceylon 1.2"
Отправлено ryoken , 30-Окт-15 08:40 
>>Ceylon
> Только выпустили, а уже устарели. Шри-Ланка, Ктулху вас обрыгай. Шри-Ланка, сраные империалисты.
> Цейлон, ага...

На карте Сиам найдёте? (ВОт я как-то подзабыл географию :) ).


"Компания Red Hat выпустила язык программирования Ceylon 1.2"
Отправлено Аноним , 30-Окт-15 04:30 
>Red Hat
>интегрированная среда разработки Ceylon IDE
>http://ceylon-lang.org/documentation/1.2/ide/features/
>Скриншоты с OS X

Или это новый гном?


"Компания Red Hat выпустила язык программирования Ceylon 1.2"
Отправлено Аноним , 31-Окт-15 00:41 
Нужен как минимум скрин всего рабочего стола. По крайней мере для меня.

"Компания Red Hat выпустила язык программирования Ceylon 1.2"
Отправлено Классический анонимуз , 30-Окт-15 05:00 
eclipse - это очень плохо. Ибо хорошо - это idea или на худой конец netbeans.

Ну и я не доверяю гуголу, который родил Python и GO которые по итогу не быстрее старой доброй джавки.


"Компания Red Hat выпустила язык программирования Ceylon 1.2"
Отправлено oopsy , 30-Окт-15 09:40 
Выдыхай, бобёр!
python старше google.

"Компания Red Hat выпустила язык программирования Ceylon 1.2"
Отправлено Аноним , 30-Окт-15 12:55 
И тем не менее, если бы не гугл - где бы сейчас был питон....

"Компания Red Hat выпустила язык программирования Ceylon 1.2"
Отправлено Аноним , 30-Окт-15 06:58 
Индакод продакшен представляет Цэйлон, новый язык программирования для индусов.

"Компания Red Hat выпустила язык программирования Ceylon 1.2"
Отправлено V_ctor , 30-Окт-15 08:02 
Только думал скалу пощупать. Что щас за цейлон хвататься?
А ведь дальше будет хуже, каждый отдел в такой крупной конторе будет выпускать свой язык.

"Компания Red Hat выпустила язык программирования Ceylon 1.2"
Отправлено Аноним , 30-Окт-15 10:12 
> Только думал скалу пощупать. Что щас за цейлон хвататься?
> А ведь дальше будет хуже, каждый отдел в такой крупной конторе будет
> выпускать свой язык.

Если взять разработку на С и С++ то по сути так и есть, хотя язык вроде один


"Компания Red Hat выпустила язык программирования Ceylon 1.2"
Отправлено Аноним , 30-Окт-15 14:05 
Kotlin правильнее, чем Scala, по-моему. К сожалению, он очень молод и неразвит, по сравнению со Scala. Цель цейлона мне не ясна. Лучше RH бы присоединились к развитию Kotlin-а.

"Компания Red Hat выпустила язык программирования Ceylon 1.2"
Отправлено Аноним , 30-Окт-15 15:47 
Система типов в Ceylon естественнее, чем в scala. Там есть типы-суммы и типы-произведения, и очень глубокий вывод типов. А котлин больше ориентирован на практическое использование, там сознательно урезали систему типов, чтобы не усложнять язык.

"Компания Red Hat выпустила язык программирования Ceylon 1.2"
Отправлено Аноним , 30-Окт-15 09:42 
следующий будет Batik

"Компания Red Hat выпустила язык программирования Ceylon 1.2"
Отправлено Defective Life , 31-Окт-15 00:23 
Принцесса Дури

"Компания Red Hat выпустила язык программирования Ceylon 1.2"
Отправлено Yuris , 30-Окт-15 10:39 
Они эволюционировали. И у них есть План.

"Компания Red Hat выпустила язык программирования Ceylon 1.2"
Отправлено Илья , 30-Окт-15 18:00 
план понахватать самого лучшего м слепить суперязык, проходили уже

"Компания Red Hat выпустила язык программирования Ceylon 1.2"
Отправлено MirandaUser2 , 31-Окт-15 03:38 
> Использование для присвоения первоначальных
> значений (инициализации переменных) оператора ":=";

посмотрел примеры, не нашел нигде :=


"Компания Red Hat выпустила язык программирования Ceylon 1.2"
Отправлено Аноним , 01-Ноя-15 20:25 
Нужен язык под названием "Cocaine" и всех на него подсадить, остальное забыть!