LINUX.ORG.RU

Вышел Ceylon 1.1

 , ,


0

2

После десяти месяцев разработки вышла очередная версия Ceylon — нового статически типизированного языка для платформ JVM и JavaScript. Одновременно с обновлением языка вышел новый релиз Ceylon IDE — плагина для Eclipse для разработки на языке Ceylon.

Основные изменения:

  • улучшения производительности, ускорена компиляциия в IDE;
  • улучшение совместимости с перегрузкой методов и дженериками Java (в самом Ceylon перегрузка не поддерживается — прим. ред.);
  • поддержка развёртывания модулей Ceylon в контейнерах OSGi;
  • улучшения Ceylon SDK, включая новые платформенные модули ;ceylon.promise, ceylon.locale и ceylon.logging, а также улучшения модулей ceylon.language, ceylon.collection и ceylon.test;
  • улучшения в IDE, включая новый форматировщик кода ceylon.formatter и интеграцию с плагинами утилиты командной строки, в том числе новыми плагинами ceylon format и ceylon build;
  • интеграция с vert.x.

>>> Подробности

anonymous

Проверено: Shaman007 ()
Последнее исправление: cetjs2 (всего исправлений: 2)

Ответ на: комментарий от anonymous

Тут основная идея в том чтобы получить очередной новый язык для промышленной разработки, чтобы простой как ява, но лучше.

Идея прекрасная конечно, только вот для этого надо сам jvm форкнуть и вычистить всё legacy из стандартной библиотеки, потому что если этого не сделать - вся эта гадость так и будет из каждой щели торчать. Но это скорее относится к разряду фантастики, да и чревато наездами от оракла.

Модули. Jigsaw непонятно когда будет и будет ли, а об OSGi никто и не знает.

Ну вроде уже в 9-ке jigsaw обещают. А об osgi все знают, но никто с этим ужасом связываться не хочет, поскольку монстрик получился тот еще.

Прикольные объединения и пересечения типов - получение объекта фс возвращает что-то типа File|Dir|Nil, требуя от программера явно распаковывать объект к конкретному типу...

Вот это уже прикольно, надо будет почитать, хотя бы вскользь про это.

Ide. Разработчики разумно полагают что среда разработки это не просто вспомогательный инструмент, без которого можно обойтись, а важнейшая для для разработки вещь.

Правильный подход, единственное что расстраивает - это клипса. Все таки после идеи он, имхо, ужасен.

Nagwal ★★★★
()
Ответ на: комментарий от anonymous

Тут основная идея в том чтобы получить очередной новый язык для промышленной разработки, чтобы простой как ява, но лучше.

Идея - хорошая, но как 101-ый стандарт, стандартизующий предыдущие 100. :)
Есть язык Ди - ровно с теми же целями, причём ещё и написанный (т.е. нехватает только влиться в процесс и продвигать). Зачем делать ЕЩЁ ОДИН велосипед, который, очевидно, сдохнет покрывшись плесенью даже не дождавшись тысячного комьюнити??

Прежде, чем «изобретать» язык, задротам стоит ответить для себя на другой вопрос: а что не так с существующими языками? Это «не так» - принципиальная вещь или вопрос именования функции в библиотеке? Если ты напишешь этот «новый язык», насколько принципиально он ускорит/улучшит/обезопасит программирование?
Была даже целая статья в тырнетах «прежде, чем писать свой язык» (пишу по памяти) - вот куда надо ткнуть носом всяких Rust'аманов, Целофановедов и прочих Goвноделов.

Кстати, у Уолтера (создателя Ди) за плечами целый компилятор С++ - уж этот чувак знает, зачем (и как) пилить новый язык.

matumba ★★★★★
()
Ответ на: комментарий от matumba

Прежде, чем «изобретать» язык, задротам стоит ответить для себя на другой вопрос: а что не так с существующими языками?

На сайте ceylon есть FAQ с ответами на подобные вопросы.

mono ★★★★★
()
Ответ на: комментарий от Nagwal

Идея прекрасная конечно, только вот для этого надо сам jvm форкнуть и вычистить всё legacy из стандартной библиотеки, потому что если этого не сделать - вся эта гадость так и будет из каждой щели торчать.

В Ceylon стандартная библиотека своя, спроектированная уже с учётом возможностей языка, хотя пока довольно куцая. Использовать Java-классы можно, но не рекомендуется, потому что при этом пропадают плюшки языка вроде null-safety и алгебраических типов.

anonymous
()
Ответ на: комментарий от anonymous

Модули. Jigsaw непонятно когда будет и будет ли, а об OSGi никто и не знает.

Проблема с OSGi в том, что он переусложнён. Design by committee. Кроме того, у системы модулей Ceylon есть ещё искоробочная интеграция с репозиториями по типу мавеновских и разрешение зависимостей.

anonymous
()

Нужно. Если редхат како-нибудь свой энтерпрайз на нём перепишет, то взлетит.

anonymous
()
Ответ на: комментарий от tailgunner

D2 наконец-то зафиналился?

Нет пока, хотя фактически только правят ошибки и добавляют функционал. Изменений, приводящих к несовместимости давно уже не заметно.

Vudod ★★★★★
()
Ответ на: комментарий от matumba

Кстати, у Уолтера (создателя Ди) за плечами целый компилятор С++ - уж этот чувак знает, зачем (и как) пилить новый язык.

Ага, все не знают, он только единственный — знает.

D это и есть 101-й ЯП.

Oxdeadbeef ★★★
()
Ответ на: комментарий от anonymous

В Ceylon стандартная библиотека своя, спроектированная уже с учётом возможностей языка, хотя пока довольно куцая.

И как только в ней чего-то будет не хватать - все полезут использовать явовскую. Или явовские либы. И все это legacy дерьмецо полезет из всех щелей.

Nagwal ★★★★
()

Немного поковырялся из любопытства, когда первая версия только зарелизилась. Вот некоторые ругают Яву, что для обучения школьников^W новичков она не годится, мол, чтобы элементарный хелловорлд запилить, нужно кучу строк написать: и класс создать, и public static void main(String args[]), и длинный непонятный System.out.println()... Либо придётся долго и нудно объяснять, что вся сия магия означает (а ведь это новички, их ещё нельзя грузить), либо дать как аксиому... И то, и то — не очень хорошие варианты.

А вот Ceylon, по крайней мере, этого недостатка лишён, достаточно написать void hello() {print(«Hello, World!»);} и всё заработает :)

Но вот что мне в нём не нравится: то, как долго компилируется даже самый простейший код (компилятор на JVM!). Хотя у меня и ПК далеко не новый, но явовый код на нём конпеляется заметно быстрее. Надеюсь, в этой версии будет получше...

anonymous
()
Ответ на: комментарий от anonymous

(компилятор на JVM!)

javac тоже на яве написан. При этом являет собой как раз пример моментально работающего софта на оной. Так что долгая работа - это просто недоработка редхатовцев.

Nagwal ★★★★
()
Ответ на: комментарий от Nagwal

Ну вроде уже в 9-ке jigsaw обещают.

Обещают его, как бэ, уже не первый год. Помню как щас когда после выхода седьмой явы на какой-то жававан приближенный к ораклу докладчик рассказывал о том, что седьмую ее спеку дизайнят с мегамодульно, и как только выйдет восьмерка(в которой уж точно jigsaw будет), то все плюшки сразу будут доступны в ее7 совместимых контейнрах. И где?

Мне, собственно, и не надо бы интеграции с пакетными менеджерами, поддержки нативных либ и совместимости с мавен репозиториями.

Достаточно только чтобы приложение в рантайме не плевалось ClassCastException, ClassNotFoundException и NoClassDefFoundException в зависимости от каких-то специфичных для каждого контейнера настроек класслоадеров, модулей и разделяемых библиотек.

anonymous
()
Ответ на: комментарий от Nagwal

И как только в ней чего-то будет не хватать - все полезут использовать явовскую. Или явовские либы. И все это legacy дерьмецо полезет из всех щелей.

Создание полноценной стандартной библиотеки - один из основных приоритетов в разработке. Если приложение не хеллоуворлд на сотню строк, то жабабиблиотеки будут скрыты за каким-нибудь фасадом с цейлоновским апи.

anonymous
()
Ответ на: комментарий от anonymous

Это был Ceylon 1.0? В 1.1 компиляция сильно быстрее.

anonymous
()
Ответ на: комментарий от anonymous

А вот Ceylon, по крайней мере, этого недостатка лишён, достаточно написать void hello() {print(«Hello, World!»);} и всё заработает :)

Всё равно много. Кто такой void? Почему он hello (или наоборот)? Да ещё и со скобками, зачем нужны {}? И ещё ";"?

Вот в Паскале:

begin
    writeln("Hello, World!")
end.
Гораздо понятнее. Питон и Фортран стандарта 90+ ничем не хуже.

Vudod ★★★★★
()
Ответ на: комментарий от Bad_ptr

Что лучше Ceylon, Kotlin, Scala или Groovy

что лучше цейлон или котлин?>
Я бы еще добавил в этот список scala и groovy

Вопрос получился бы таким:
Что лучше Ceylon, Kotlin, Scala или Groovy

так как ни один из вышеперечисленных языков не подходит для массовой промышленной разработки, то ответ очень прост - java.

Человеку, который не может писать хороший код на java7 (я не говорю про 8) ничего уже не поможет, ему просто нужен «excuse». Мол мой язык не так популярен, а то бы я вам показал.

Yilativs ★★★★
()
Ответ на: Что лучше Ceylon, Kotlin, Scala или Groovy от Yilativs

Xtend ещё. Хотя это, по сути, просто сахарок для Java. А вообще да, мне хватает Java 7 + lombok. Ещё перейдём на восьмую с лямбдами, и будет вообще зашибись.

anonymous
()
Ответ на: комментарий от Vudod

Vudod

Вот в Паскале:

Гораздо понятнее.

Ну а бейсик тогда вообще идеал :)

10 PRINT "HELLO"
достаточно, если я правильно помню, а в некоторых диалектах (Quick Basic) и вовсе
? "HELLO"

Nagwal

javac тоже на яве написан. При этом являет собой как раз пример моментально работающего софта на оной. Так что долгая работа - это просто недоработка редхатовцев.

Не знал, спс за разъяснения.

anonymous

Это был Ceylon 1.0? В 1.1 компиляция сильно быстрее.

Да, я говорил про 1.0. ОК, значит не буду откладывать обновление на потом.

anonymous
()
Ответ на: Что лучше Ceylon, Kotlin, Scala или Groovy от Yilativs

Человеку, который не может писать хороший код на java7 (я не говорю про 8) ничего уже не поможет

А человек не хотят писать на этом мамонтовом говне(и лямбды не спасут явку). По крайней мере, для души. За деньги я вон и на iec st пишу, и не жужжу.

RedPossum ★★★★★
()
Ответ на: комментарий от Vudod

А что такое writeln? Ну write понятно, а ln что такое? Логарифм? Line? Нахер было так функцию называть? А питухон вообще не нужен.

anonymous
()
Ответ на: комментарий от anonymous

А что такое writeln?

Согласен, что не совсем идеально, но в приведённом примере и write достаточно.

Vudod ★★★★★
()
Ответ на: комментарий от d9d9

в большинстве вменяемых языков такие простые вещи, как интерполяция строк и так реализованы средствами языка, в той же скале, например. а все потому что удобный язык, экстенсибл, епт! немерло вон вообще все на макросах. лиспы эти. а если такое прибито гвоздями и в бнф еще, небось, описано, то ну его, фу, фу.

anonymous
()

Но зачем? BTW такой же вопрос и к Kotlin.

Den_Zurin
()
Ответ на: комментарий от kovrik

Этим требованиям удовлетворяет только Scala и Clojure (из JVM'ных). Всякие Kotlin'ы, Цейлоны и прочее - какой в них смысл? Особых фич нет, никто про эти ЯП не знает, никому из работодателей они не нужны.

Еще Groovy норм для всякого скриптинга и для веба (Groovy on Grails).

Den_Zurin
()
Ответ на: комментарий от Den_Zurin

Да, точно. Всегда про Груви забываю :)

kovrik ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.