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

Исходное сообщение
"Выпуск языка программирования Ceylon 1.0.0, развиваемого Red..."

Отправлено opennews , 13-Ноя-13 23:30 
Увидел свет (http://ceylon-lang.org/blog/2013/11/12/ceylon-1/)  язык программирования Ceylon 1.0.0 (http://ceylon-lang.org/), первый стабильный релиз, пригодный для промышленного применения. Ceylon развивается компанией Red Hat как язык общего назначения, претендующий на роль замены Java. Лидером разработки является Гэвин Кинг (Gavin King), основатель проектов Hibernate (http://www.hibernate.org/) и Seam (http://seamframework.org/). Код связанных с языком компонентов распространяется (https://github.com/ceylon) под лицензией GPLv2, а код среды разработки под лицензией EPL. Бинарные пакеты можно загрузить (http://ceylon-lang.org/download/) в форматах deb и rpm.


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


-  Спецификации (http://ceylon-lang.org/documentation/1.0/spec), определяющие синтаксис и семантику языка;
-  Инструментарий (http://ceylon-lang.org/documentation/1.0/reference/tool/ceyl... работающий в режиме командной строки. В том числе, компилятор в Java и JavaScript, а также компоненты для запуска приложений под управлением JVM и Node.js;
-  Компоненты модульной архитектуры с поддержкой управления зависимостями, изоляции модулей и логического разбиения кода;
-  Базовый модуль (http://modules.ceylon-lang.org/modules/ceylon.language) языка и набор вспомогательных модулей, формирующих  Ceylon SDK (https://modules.ceylon-lang.org/categories/SDK);
-  Интегрированная среда разработки Ceylon IDE (http://ceylon-lang.org/documentation/1.0/ide/features/), построенная на основе платформы Eclipse.

<center><a href="http://ceylon-lang.org/images/screenshots/1.0.0/ide.png"... src="http://www.opennet.me/opennews/pics_base/0_1384369567.png" style="border-style: solid; border-color: #e9ead6; border-width: 15px;" title="" border=0></a></center>


Целью создания 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" загрузки классов, обладающую такими возможностями как учет требований приложения к версиям модулей и поддержку работы сразу с несколькими репозиториями модулей, как локальными, так и внешними (http://modules.ceylon-lang.org/).

Некоторые (http://ceylon-lang.org/features/) особенности (http://ceylon-lang.org/documentation/1.0/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://ceylon-lang.org/blog/2013/11/12/ceylon-1/
Новость: http://www.opennet.me/opennews/art.shtml?num=38422


Содержание

Сообщения в этом обсуждении
"Выпуск языка программирования Ceylon 1.0.0, развиваемого Red..."
Отправлено Аноним , 13-Ноя-13 23:34 
они свою 7-ку на  Ceylon собрались переписать, поэтому и не релизят ??

"Выпуск языка программирования Ceylon 1.0.0, развиваемого Red..."
Отправлено Сталин , 14-Ноя-13 01:54 
Потом будет аналогом Firefox OS

"Выпуск языка программирования Ceylon 1.0.0, развиваемого Red..."
Отправлено хрюкотающий зелюк , 14-Ноя-13 00:18 
Не имею ничего против этого языка и даже рад что его создали. Приятно осознавать что такие замечательные платформы доступны в исходных кодах, это в любом случае хорошо.

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

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

Айс ^_^


"Выпуск языка программирования Ceylon 1.0.0, развиваемого Red..."
Отправлено AnonuS , 14-Ноя-13 05:00 
Сразу чувствуется мнение специалиста...


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

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


"Выпуск языка программирования Ceylon 1.0.0, развиваемого Red..."
Отправлено Аноним , 14-Ноя-13 00:36 
>> Классы, методы и атрибуты выглядят одинаково;

Шта? О_о


"Выпуск языка программирования Ceylon 1.0.0, развиваемого Red..."
Отправлено Аноним , 14-Ноя-13 00:57 
Опоздали. Есть Kotlin.

"Выпуск языка программирования Ceylon 1.0.0, развиваемого Red..."
Отправлено YetAnotherOnanym , 14-Ноя-13 01:43 
А Тасмании нет? Или Мадагаскара?

"Выпуск языка программирования Ceylon 1.0.0, развиваемого Red..."
Отправлено Аноним , 14-Ноя-13 06:44 
Нету Kotlin, нету. Есть только попытка его создать.

"Выпуск языка программирования Ceylon 1.0.0, развиваемого Red..."
Отправлено FractalizeR , 14-Ноя-13 18:43 
В каком смысле?

"Выпуск языка программирования Ceylon 1.0.0, развиваемого Red..."
Отправлено Аноним , 14-Ноя-13 20:16 
> В каком смысле?

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


"Выпуск языка программирования Ceylon 1.0.0, развиваемого Red..."
Отправлено Sigurd , 14-Ноя-13 01:18 
Есть scala и groovy

"Выпуск языка программирования Ceylon 1.0.0, развиваемого Red..."
Отправлено 3draven , 14-Ноя-13 06:55 
В java действительно есть проблема унаследованного и обратно совместимого мусора. Я давно хотел чего то, что было бы явой, без обратной совместимости с технологиями десятилетней давности. Те же обобщения в яве просто набор обратно совместимых костылей (сделать их элементом компиляции...и только что бы в jvm не вносить новых команд), не говоря уже о спецификациях фреймворков в инфраструктуре вокруг явы. Развитие язков вроде груви,скала и цейлона всего лишь ответ на действительно существующую проблему. Ораклу стоит подумать о том что бы очистить яву от старого хлама, сделав новую ветку или что то подобное...лично я уже поглядываю в сторону новых решений...но пока рановато.

"Выпуск языка программирования Ceylon 1.0.0, развиваемого Red..."
Отправлено 3draven , 14-Ноя-13 07:00 
Кстати, при беглом осмотре целон показался более приятным чем скала и груви. Не стали огород городить, а взяли яву и доделали как хотели....и мне нравится как именно. Но, то первый взгляд.

"Выпуск языка программирования Ceylon 1.0.0, развиваемого Red..."
Отправлено 3draven , 14-Ноя-13 07:41 
Немного пробежав по цейлону я понял, что надо пробежать побольше...нравится, блин :) Если он сумеет со спрингом работать, то наверное присмотрюся :) Как то давно забил на java.next со свистоперделками...а тут, вполне чебе ничего. Лидер проекта вырос из JCP и начал свое делать именно из за сложностей в дальнейшем развитии java. В общем гляну поподробнее :)

"Выпуск языка программирования Ceylon 1.0.0, развиваемого Red..."
Отправлено 3draven , 14-Ноя-13 09:27 
Хотя java 8 во многом перекроет самые вкусные возможности цейлона. В нее бы еще get set поля добавили что бы не генерить бесконечные методы доступа...и пока ничего и не надо :)

"Выпуск языка программирования Ceylon 1.0.0, развиваемого Red..."
Отправлено Аноним , 14-Ноя-13 11:10 
Не холивара ради, что мешает вместо get/set сделать полям public visibility?

"Выпуск языка программирования Ceylon 1.0.0, развиваемого Red..."
Отправлено Аноним , 14-Ноя-13 11:35 
> Не холивара ради, что мешает вместо get/set сделать полям public visibility?

get/set могут делать дополнительные проверки и кидать исключения, например.

Но вообще, get/set - очень порочная практика, по-моему, она идет наперекор идее инкапсуляции. В идеале программист, использующий класс, не должен знать о полях внутри вообще ничего.


"Выпуск языка программирования Ceylon 1.0.0, развиваемого Red..."
Отправлено Аноним , 14-Ноя-13 11:47 
Хмм, мне кажется наоборот, get/set является как раз инструментом инкапсуляции. Если у тебя есть private поле, то ты скрываешь его от посторонних глаз и не обязан делать методы доступа к нему (или например сделать только get). Если есть и get и set, которые не выполняют никаких проверок, делай поле публичным. Если есть проверки, то их в любом случае писать ручками, по этому в любом случае писанина будет.

"Выпуск языка программирования Ceylon 1.0.0, развиваемого Red..."
Отправлено Аноним , 14-Ноя-13 12:01 
>Хмм, мне кажется наоборот, get/set является как раз инструментом инкапсуляции.

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

>Если есть проверки, то их в любом случае писать ручками, по этому в любом случае писанина будет.

Одно дело написать их один раз в get/set и совсем другое - каждый раз в коде.


"Выпуск языка программирования Ceylon 1.0.0, развиваемого Red..."
Отправлено 3draven , 14-Ноя-13 12:07 
С инкапсуляцией я то же когда то размышлял. Доразмышлялся до того, что пришел к выводу, что в рамки языка надо внести некоторый новый элемент для DI спецом...то есть friend (что то похожее на С++ друзей). Что бы можно было разрешить контейнеру иметь доступ к полю, а остальным что бы поле было по прежнему private. Это не нарушает инкапсуляции и при этом дает возможность быть DI и AOP...что вообще то чистейшее ООП если подумать получше...так как выгребает из объекта все, кроме его непосредственной задачи.

"Выпуск языка программирования Ceylon 1.0.0, развиваемого Red..."
Отправлено 3draven , 14-Ноя-13 21:14 
Кстати. В цейлоне я так понял защищенных и дефолт полей нету, они все видны внутри области видимости класса (пакет, модуль), если их открыть, либо внутри класса. Вот такие пироги.

"Выпуск языка программирования Ceylon 1.0.0, развиваемого Red..."
Отправлено piteri , 14-Ноя-13 12:39 
Методы наследуются, поля - нет.

"Выпуск языка программирования Ceylon 1.0.0, развиваемого Red..."
Отправлено виндотролль , 14-Ноя-13 14:29 
> Методы наследуются, private поля - нет.

obvious fix


"Выпуск языка программирования Ceylon 1.0.0, развиваемого Red..."
Отправлено piteri , 14-Ноя-13 14:43 
Прошу продемонстрировать наследование public полей

"Выпуск языка программирования Ceylon 1.0.0, развиваемого Red..."
Отправлено виндотролль , 14-Ноя-13 20:49 
public class PublicPropertyInheritance {
    static class A {
        public String anyoneCanInheritMe = "i'm willing to share this :)";
        private String noOneCanInheritMe = "make your own property, sucker!";
    }

    static class B extends A {
    }

    public  static void main(String args) {
        A a = new A();
        System.out.println(a.anyoneCanInheritMe);
        System.out.println(a.noOneCanInheritMe);

        B b = new B();
        System.out.println(b.anyoneCanInheritMe);
        // System.out.println(b.noOneCanInhertMe); // compilation error!
    }
}


"Выпуск языка программирования Ceylon 1.0.0, развиваемого Red..."
Отправлено piteri , 14-Ноя-13 22:34 
А где пример с наследованием полей? Этот был про области видимости.

"Выпуск языка программирования Ceylon 1.0.0, развиваемого Red..."
Отправлено виндотролль , 17-Ноя-13 14:04 
> А где пример с наследованием полей? Этот был про области видимости.

http://docs.oracle.com/javase/specs/jls/se5.0/html/classes.h...


"Выпуск языка программирования Ceylon 1.0.0, развиваемого Red..."
Отправлено iZEN , 14-Ноя-13 15:10 
> Методы наследуются, поля - нет.

А нужно ли наследование? Многие высказывают мысли по поводу того, что наследование и есть основной враг инкапсуляции, что, мол, лучше использовать композицию вместо наследования там, где это действительно нужно. ;)


"Выпуск языка программирования Ceylon 1.0.0, развиваемого Red..."
Отправлено piteri , 14-Ноя-13 17:03 
Ну я и не давал качественной оценки. Только бить тех, кто наследуется от твоих классов и норовит скрыть поля тоже не выход.

"Выпуск языка программирования Ceylon 1.0.0, развиваемого Red..."
Отправлено Ури , 15-Ноя-13 19:13 
Ну что за мода все усложнять? Написано же - private, а не uninherited - зачем же домысливать?

Они точно так же наследуются, но к ним нету доступа. Если бы они не наследовались, то вызов родительского метода (который обращается к такому полю) на объекте потомке приводил бы к мусору.


"Выпуск языка программирования Ceylon 1.0.0, развиваемого Red..."
Отправлено piteri , 15-Ноя-13 22:23 
Так не я же усложняю. private - к наследованию перпендикулярен. Ладно, вот простой пример.
class A {
   public final String foo = "foo";
}
class B extends A {
   public String foo = "bar";
}
class A1 {
   public final String foo(){
      return "foo";
   }
}
class B1 extends A1 {
   public String foo(){//тут кстати будет ошибка
      return "bar";
   }
}
Ну и наконец
((A)new A()).foo == ((A)new B()).foo
((A)new A()).foo() != ((A)new B()).foo()

Короче если поля ведут себя так, как будто они не наследуются не вижу причин считать иначе


"Выпуск языка программирования Ceylon 1.0.0, развиваемого Red..."
Отправлено Ури , 16-Ноя-13 12:20 
Этот код не должен компилироваться и не компилируется. Ибо "overridden method is final".
Короче, нельзя перегружать финализированные методы/функции.

"Выпуск языка программирования Ceylon 1.0.0, развиваемого Red..."
Отправлено piteri , 16-Ноя-13 22:30 
Спасибо, Кэп. Но к final полю претензий таки нет.

"Выпуск языка программирования Ceylon 1.0.0, развиваемого Red..."
Отправлено Ури , 17-Ноя-13 12:48 
А к чему тогда вообще претензии? Если они относятся не к языку, а к неким своим собственным интерпретациям языка?

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


"Выпуск языка программирования Ceylon 1.0.0, развиваемого Red..."
Отправлено виндотролль , 17-Ноя-13 14:04 
>[оверквотинг удален]
> class B1 extends A1 {
>    public String foo(){//тут кстати будет ошибка
>       return "bar";
>    }
> }
> Ну и наконец
> ((A)new A()).foo == ((A)new B()).foo
> ((A)new A()).foo() != ((A)new B()).foo()
> Короче если поля ведут себя так, как будто они не наследуются не
> вижу причин считать иначе

Ты либо глуп, либо упорот, либо жирнющий тролль.

Читай до просветления
http://docs.oracle.com/javase/specs/jls/se5.0/html/classes.h...


"Выпуск языка программирования Ceylon 1.0.0, развиваемого Red..."
Отправлено iZEN , 14-Ноя-13 15:04 
> Не холивара ради, что мешает вместо get/set сделать полям public visibility?

Искренняя и несовратимая убеждённость в том, что это плохо.


"Выпуск языка программирования Ceylon 1.0.0, развиваемого Red..."
Отправлено Baz , 14-Ноя-13 09:29 
интересно, если оно действительно будет быстрей, то мб гугл заберёт это на ведроид, тем более, что по обещаниям работает на той-же JVM...

"Выпуск языка программирования Ceylon 1.0.0, развиваемого Red..."
Отправлено none_first , 14-Ноя-13 12:34 
у гугла не жвм, а дальвик

"Выпуск языка программирования Ceylon 1.0.0, развиваемого Red..."
Отправлено bOOster , 14-Ноя-13 16:32 
> у гугла не жвм, а дальвик

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


"Выпуск языка программирования Ceylon 1.0.0, развиваемого Red..."
Отправлено piteri , 14-Ноя-13 17:03 
>> у гугла не жвм, а дальвик
> Не далеко ушел )

Далеко.


"Выпуск языка программирования Ceylon 1.0.0, развиваемого Red..."
Отправлено Аноним , 14-Ноя-13 20:17 
>>> у гугла не жвм, а дальвик
>> Не далеко ушел )
> Далеко.

Не. Те же яйца, вид сбоку.


"Выпуск языка программирования Ceylon 1.0.0, развиваемого Red..."
Отправлено el torito , 15-Ноя-13 21:24 
Ололо. JVM - стековая, в то время как Dalvik - регистровая. (рукалицо)

"Выпуск языка программирования Ceylon 1.0.0, развиваемого Red..."
Отправлено bOOster , 28-Ноя-13 07:06 
> Ололо. JVM - стековая, в то время как Dalvik - регистровая. (рукалицо)

Ой, дети.. (рукалицо), C++ компилятор тоже может создавать бинарный код как для RISC так и для CISC  платформ.


"Выпуск языка программирования Ceylon 1.0.0, развиваемого Red..."
Отправлено kurokaze , 14-Ноя-13 18:33 
В KitKat альтернатива появилась. Пока экспериментальная

"Выпуск языка программирования Ceylon 1.0.0, развиваемого Red..."
Отправлено Аноним , 14-Ноя-13 10:47 
IDE на скриншоте одна из самых отвратительных, что я видел. Такое чувство, что у них в качестве шрифтов Comic Sans, ну или что-то подобное.

"Выпуск языка программирования Ceylon 1.0.0, развиваемого Red..."
Отправлено Аноним , 14-Ноя-13 11:18 
> DE на скриншоте одна из самых отвратительных, что я видел.

Ты еще IDE Visual C++ не видел...


"Выпуск языка программирования Ceylon 1.0.0, развиваемого Red..."
Отправлено Аноним , 14-Ноя-13 11:34 
Опачки! уже и на Эклипс гонят =о

"Выпуск языка программирования Ceylon 1.0.0, развиваемого Red..."
Отправлено Анончик , 14-Ноя-13 12:30 
После php-блокнотика всё кажется конфеткой?

"Выпуск языка программирования Ceylon 1.0.0, развиваемого Red..."
Отправлено Aceler , 14-Ноя-13 12:45 
Да, на мак её собирают левой задней пяткой, но кто в здравом уме кодит на мак?

"Выпуск языка программирования Ceylon 1.0.0, развиваемого..."
Отправлено arisu , 14-Ноя-13 14:11 
> Да, на мак её собирают левой задней пяткой, но кто в здравом
> уме кодит на мак?

да вот как раз всякие грувисты, скакальщики и прочая…


"Выпуск языка программирования Ceylon 1.0.0, развиваемого Red..."
Отправлено kurokaze , 14-Ноя-13 18:34 
> Да, на мак её собирают левой задней пяткой, но кто в здравом
> уме кодит на винде?

Пофиксил, не благодари


"Выпуск языка программирования Ceylon 1.0.0, развиваемого Red..."
Отправлено Aceler , 14-Ноя-13 19:27 
>> Да, на мак её собирают левой задней пяткой, но кто в здравом
>> уме кодит на винде?
> Пофиксил, не благодари

На скриншоте мак.

И.О.К.О.


"Выпуск языка программирования Ceylon 1.0.0, развиваемого Red..."
Отправлено йцук , 14-Ноя-13 19:45 
>Да, на мак её собирают левой задней пяткой, но кто в здравом уме кодит на мак?

А есть какие-то ограничения? Или может программы под МасОS X нужно писать не под  MacOS X ?


"Выпуск языка программирования Ceylon 1.0.0, развиваемого..."
Отправлено arisu , 14-Ноя-13 19:56 
программы под макость просто не нужно писать.

"Выпуск языка программирования Ceylon 1.0.0, развиваемого Red..."
Отправлено iZEN , 14-Ноя-13 15:03 
> IDE на скриншоте одна из самых отвратительных, что я видел. Такое чувство,
> что у них в качестве шрифтов Comic Sans, ну или что-то подобное.

На скриншоте типичная Eclipse. В ней, кстати, и шрифт хорошо настраивается (в одном месте задаётся базовый шрифт, от которого все остальные шрифтовые оформления наследуются с теми или иными аберрациями). Да и вкладки вместо конфетно-карамельных можно задать плоско-стандартные легко.
Минус Eclipse в том, что интерфейс на базе тулкита SWT, который использует нативные виджеты, не всегда совпадающие с пользовательскими (у кого KDE, те поймут). Ограниченная переносимость среды (для каждой операционки нужна своя сборка) тоже не делает её успешной.



"Выпуск языка программирования Ceylon 1.0.0, развиваемого..."
Отправлено йцук , 14-Ноя-13 19:48 
> Ну какой админ, такой и результат. Я о твоих высказываниях много читал.
> Я вообще удивляюсь, как у тебя чтото работает? :) Или человечеству
> повезло и ты не админ?

Какой он админ? Ему бы школу закончить.


"Выпуск языка программирования Ceylon 1.0.0, развиваемого..."
Отправлено arisu , 14-Ноя-13 20:00 
о, ещё один считает, что Чёрная Админская Магия ВНИЗАПНА! отучит эклипс тормозить и жрать память. жабисты такие жабисты: «чо? наша софтина тормозит? память жрёт? йо, чуваки, вы же не нищеброды, купите компьютер помощней и докиньте туда ещё восемь гигов памяти! что? оптимизации? слышали один раз: фигня какая-то бесполезная. и вообще: вы что, хотите параллельно с нашей Великолепной Программой что-то ещё запустить? не, так не пойдёт, на это никто не рассчитывал.»

"Выпуск языка программирования Ceylon 1.0.0, развиваемого..."
Отправлено arisu , 14-Ноя-13 18:56 
> Это ты IDEA не видел.

видел, но весьма давно. был в молодости грешок с java me.


"Выпуск языка программирования Ceylon 1.0.0, развиваемого Red..."
Отправлено kurokaze , 14-Ноя-13 18:36 
> у кого KDE, те поймут

Чего поймут то? У меня Эклипс почти как остальные KDE-шные программы выглядит


"Выпуск языка программирования Ceylon 1.0.0, развиваемого Red..."
Отправлено anonymouse , 14-Ноя-13 11:02 
У каждого производителя свой велосипед.

"Выпуск языка программирования Ceylon 1.0.0, развиваемого Red..."
Отправлено Аноним , 14-Ноя-13 11:14 
Java штопают-штопают, еще это будут штопать. библиотек наверно кот наплакал.

"Выпуск языка программирования Ceylon 1.0.0, развиваемого Red..."
Отправлено Аноним , 14-Ноя-13 11:20 
Библиотеки годятся от Java. Зачем переписывать то, что работает?

"Выпуск языка программирования Ceylon 1.0.0, развиваемого Red..."
Отправлено piteri , 14-Ноя-13 11:33 
Хм, а сахар то на порядок лучше и грамотнее чем в шарпе.

"Выпуск языка программирования Ceylon 1.0.0, развиваемого Red..."
Отправлено анон , 14-Ноя-13 11:41 
> Использование для присвоения первоначальных значений (инициализации переменных) оператора ":=";

а смысл?


"Выпуск языка программирования Ceylon 1.0.0, развиваемого Red..."
Отправлено Аноним , 14-Ноя-13 11:47 
В Scala декларация переменной как в паскале через двоеточие и типом справа, а тут будет присвоение в стиле паскаля :-)))

"Выпуск языка программирования Ceylon 1.0.0, развиваемого Red..."
Отправлено Aceler , 14-Ноя-13 12:43 
> html html = html {

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


"Выпуск языка программирования Ceylon 1.0.0, развиваемого Red..."
Отправлено Аноним , 14-Ноя-13 16:09 
а так:
html page_1=html{

?


"Выпуск языка программирования Ceylon 1.0.0, развиваемого Red..."
Отправлено Чудик , 14-Ноя-13 12:58 
Накуа все это? О_о В Java фатальный недостаток?

"Выпуск языка программирования Ceylon 1.0.0, развиваемого Red..."
Отправлено linux must __RIP__ , 14-Ноя-13 15:01 
потому что Java контролирует не redhat :-)

"Выпуск языка программирования Ceylon 1.0.0, развиваемого Red..."
Отправлено iZEN , 14-Ноя-13 15:13 
> потому что Java контролирует не redhat :-)

Почему? И она в том числе.
07.03.2013 23:18  Компания Red Hat возглавила разработку OpenJDK 6: http://www.opennet.me/opennews/art.shtml?num=36332


"Выпуск языка программирования Ceylon 1.0.0, развиваемого..."
Отправлено arisu , 14-Ноя-13 14:08 
рассуждения жабоидов об объектном программировании несколькими ветками выше неимоверно доставили.

"Выпуск языка программирования Ceylon 1.0.0, развиваемого Red..."
Отправлено bOOster , 14-Ноя-13 16:27 
-"Целью создания Ceylon было избавление от устаревших концепций и подходов, которые мешают дальнейшей эволюции языка Java и достижению более высокого уровня эффективности."
ДА УЖ!! До эффективности явы этим "поделкам из песочницы" еще ползти и ползти...
-"Кроме реализации лучших возможностей Java, в Ceylon заимствованы некоторые дополнительные конструкции из языков Smalltalk, Python и ML."
И от стройных абстракций явы выползает покореженный мутант. 10 рук 10 ног пришитых, только голова как и было по 2 ноги и руки обслуживает. Зачем остальные? - А остальные этож Smalltalk Python и ML :)

"Выпуск языка программирования Ceylon 1.0.0, развиваемого..."
Отправлено arisu , 14-Ноя-13 17:03 
> стройных абстракций явы

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


"Выпуск языка программирования Ceylon 1.0.0, развиваемого..."
Отправлено виндотролль , 14-Ноя-13 20:59 
>> стройных абстракций явы
> спасибо, посмеялся.

Вероятно, имелась ввиду простая и понятная парадигма. И это правда. Многие особенности языка можно правильно определить путем лишь логических рассуждений, зная некоторые другие особенности.
Этого нельзя сказать о скале, груви и пр. жвм-бейсед языках.


"Выпуск языка программирования Ceylon 1.0.0, развиваемого Red..."
Отправлено kurokaze , 14-Ноя-13 18:40 
Ты не обижайся, но в тебе юношеский максимализм говорит


"Выпуск языка программирования Ceylon 1.0.0, развиваемого Red..."
Отправлено bOOster , 14-Ноя-13 21:34 
Рекомендую классиков вспоминать иногда
-"Все гениальное - просто"

"Выпуск языка программирования Ceylon 1.0.0, развиваемого Red..."
Отправлено Аноним , 14-Ноя-13 21:17 
Цейлон, дарт... Шапки с гулом сговорились?

"Выпуск языка программирования Ceylon 1.0.0, развиваемого Red..."
Отправлено Ури , 15-Ноя-13 12:04 
Джависты такие джависты... "А давайте возьмем что-то хорошее из других языков, но назовем по другому и сделаем посложнее - раз уж нам было тяжело придумать, пускай остальные помучаются, пока поймут". Как было, например, с дженериками.

given вместо where из дотнета, alias вместо typedef из С, value вместо var из дотнета или auto из плюсов (тоже, блять, красавчики - на целую букву больше набирать, и при дальнейшем ифе синтаксис плывет).
Хорошо хоть function из жабоскрипта взяли не изменив на какое-нибудь "subproc".

Зачем, ЗАЧЕМ переименовывать заимствованные устоявшиеся названия фич из других языков??? Это что, какая-то ненависть к прикладным программистам - вместе с концепцией языка заодно пусть и наборы ключевых слов в голове переключают? Или синдром своей гениальности и исключительности? Дык тогда давайте вместо for введем iter, вместо switch - select, вместо if - choice... Выйдет действительно _новый_ язык, доселе никем не придуманный.


Дальше больше. Зачем-то удалили перегрузку функций, заменив ее параметрами по-умолчанию и переменным количеством аргументов. Ах да, добавили возможность эмулировать перегрузку функций специализацией дженериков (sic!)! Полный звездец.

И это я пока только 1/10 спецификации осилил. Дальше там такой бред начинается... [facepalm]

Впрочем, щас попробую что-нибудь посложнее HelloWorld написать - пощупаем как оно на самом деле. Может все не так страшно )