The OpenNET Project / Index page

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

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

13.11.2013 23:24

Увидел свет язык программирования 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 3.0
Короткая ссылка: https://opennet.ru/38422-ceylon
Ключевые слова: ceylon, lang, redhat
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (78) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | 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 (ok), 01:43, 14/11/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А Тасмании нет? Или Мадагаскара?
     
  • 2.16, Аноним (-), 06:44, 14/11/2013 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Нету Kotlin, нету. Есть только попытка его создать.
     
     
  • 3.78, FractalizeR (ok), 18:43, 14/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    В каком смысле?
     
     
  • 4.86, Аноним (-), 20:16, 14/11/2013 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > В каком смысле?

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

     

  • 1.10, Sigurd (ok), 01:18, 14/11/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Есть scala и groovy
     
  • 1.17, 3draven (ok), 06:55, 14/11/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    В java действительно есть проблема унаследованного и обратно совместимого мусора. Я давно хотел чего то, что было бы явой, без обратной совместимости с технологиями десятилетней давности. Те же обобщения в яве просто набор обратно совместимых костылей (сделать их элементом компиляции...и только что бы в jvm не вносить новых команд), не говоря уже о спецификациях фреймворков в инфраструктуре вокруг явы. Развитие язков вроде груви,скала и цейлона всего лишь ответ на действительно существующую проблему. Ораклу стоит подумать о том что бы очистить яву от старого хлама, сделав новую ветку или что то подобное...лично я уже поглядываю в сторону новых решений...но пока рановато.
     
     
  • 2.18, 3draven (ok), 07:00, 14/11/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Кстати, при беглом осмотре целон показался более приятным чем скала и груви. Не стали огород городить, а взяли яву и доделали как хотели....и мне нравится как именно. Но, то первый взгляд.
     
     
  • 3.19, 3draven (ok), 07:41, 14/11/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Немного пробежав по цейлону я понял, что надо пробежать побольше...нравится, блин :) Если он сумеет со спрингом работать, то наверное присмотрюся :) Как то давно забил на java.next со свистоперделками...а тут, вполне чебе ничего. Лидер проекта вырос из JCP и начал свое делать именно из за сложностей в дальнейшем развитии java. В общем гляну поподробнее :)
     
     
  • 4.22, 3draven (ok), 09:27, 14/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Хотя java 8 во многом перекроет самые вкусные возможности цейлона. В нее бы еще get set поля добавили что бы не генерить бесконечные методы доступа...и пока ничего и не надо :)
     
     
  • 5.27, Аноним (-), 11:10, 14/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Не холивара ради, что мешает вместо get/set сделать полям public visibility?
     
     
  • 6.33, Аноним (-), 11:35, 14/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > Не холивара ради, что мешает вместо get/set сделать полям public visibility?

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

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

     
     
  • 7.36, Аноним (-), 11:47, 14/11/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Хмм, мне кажется наоборот, get/set является как раз инструментом инкапсуляции. Если у тебя есть private поле, то ты скрываешь его от посторонних глаз и не обязан делать методы доступа к нему (или например сделать только get). Если есть и get и set, которые не выполняют никаких проверок, делай поле публичным. Если есть проверки, то их в любом случае писать ручками, по этому в любом случае писанина будет.
     
     
  • 8.37, Аноним (-), 12:01, 14/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Нет Это просто надстройки над полем Никакого сокрытия по сути не происходит, п... текст свёрнут, показать
     
     
  • 9.38, 3draven (ok), 12:07, 14/11/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    С инкапсуляцией я то же когда то размышлял Доразмышлялся до того, что пришел к ... текст свёрнут, показать
     
     
  • 10.90, 3draven (ok), 21:14, 14/11/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Кстати В цейлоне я так понял защищенных и дефолт полей нету, они все видны внут... текст свёрнут, показать
     
  • 6.41, piteri (ok), 12:39, 14/11/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Методы наследуются, поля - нет.
     
     
  • 7.50, виндотролль (ok), 14:29, 14/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > Методы наследуются, private поля - нет.

    obvious fix

     
     
  • 8.52, piteri (ok), 14:43, 14/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Прошу продемонстрировать наследование public полей... текст свёрнут, показать
     
     
  • 9.88, виндотролль (ok), 20:49, 14/11/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    public class PublicPropertyInheritance static class A public Str... текст свёрнут, показать
     
     
  • 10.96, piteri (ok), 22:34, 14/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    А где пример с наследованием полей Этот был про области видимости ... текст свёрнут, показать
     
     
  • 11.105, виндотролль (ok), 14:04, 17/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    http docs oracle com javase specs jls se5 0 html classes html 8 2 1 1 ... текст свёрнут, показать
     
  • 7.58, iZEN (ok), 15:10, 14/11/2013 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Методы наследуются, поля - нет.

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

     
     
  • 8.69, piteri (ok), 17:03, 14/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Ну я и не давал качественной оценки Только бить тех, кто наследуется от твоих к... текст свёрнут, показать
     
  • 7.98, Ури (?), 19:13, 15/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Ну что за мода все усложнять? Написано же - private, а не uninherited - зачем же домысливать?

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

     
     
  • 8.100, piteri (ok), 22:23, 15/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Так не я же усложняю private - к наследованию перпендикулярен Ладно, вот прост... текст свёрнут, показать
     
     
  • 9.101, Ури (?), 12:20, 16/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Этот код не должен компилироваться и не компилируется Ибо overridden method is... текст свёрнут, показать
     
     
  • 10.102, piteri (ok), 22:30, 16/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Спасибо, Кэп Но к final полю претензий таки нет ... текст свёрнут, показать
     
     
  • 11.103, Ури (?), 12:48, 17/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    А к чему тогда вообще претензии Если они относятся не к языку, а к неким своим ... текст свёрнут, показать
     
  • 9.104, виндотролль (ok), 14:04, 17/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    gt оверквотинг удален Ты либо глуп, либо упорот, либо жирнющий тролль Читай д... текст свёрнут, показать
     
  • 6.57, iZEN (ok), 15:04, 14/11/2013 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > Не холивара ради, что мешает вместо get/set сделать полям public visibility?

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

     

  • 1.23, Baz (?), 09:29, 14/11/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    интересно, если оно действительно будет быстрей, то мб гугл заберёт это на ведроид, тем более, что по обещаниям работает на той-же JVM...
     
     
  • 2.40, none_first (ok), 12:34, 14/11/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    у гугла не жвм, а дальвик
     
     
  • 3.68, bOOster (?), 16:32, 14/11/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > у гугла не жвм, а дальвик

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

     
     
  • 4.71, piteri (ok), 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 [^] [^^] [^^^] [ответить]  
  • +/
    > Ололо. JVM - стековая, в то время как Dalvik - регистровая. (рукалицо)

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

     
  • 3.73, kurokaze (ok), 18:33, 14/11/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    В KitKat альтернатива появилась. Пока экспериментальная
     

  • 1.25, Аноним (-), 10:47, 14/11/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    IDE на скриншоте одна из самых отвратительных, что я видел. Такое чувство, что у них в качестве шрифтов Comic Sans, ну или что-то подобное.
     
     
  • 2.29, Аноним (-), 11:18, 14/11/2013 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > DE на скриншоте одна из самых отвратительных, что я видел.

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

     
  • 2.32, Аноним (-), 11:34, 14/11/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Опачки! уже и на Эклипс гонят =о
     
     
  • 3.39, Анончик (?), 12:30, 14/11/2013 [^] [^^] [^^^] [ответить]  
  • –3 +/
    После php-блокнотика всё кажется конфеткой?
     
  • 2.44, Aceler (ok), 12:45, 14/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Да, на мак её собирают левой задней пяткой, но кто в здравом уме кодит на мак?
     
     
  • 3.48, arisu (ok), 14:11, 14/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > Да, на мак её собирают левой задней пяткой, но кто в здравом
    > уме кодит на мак?

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

     
  • 3.74, kurokaze (ok), 18:34, 14/11/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Да, на мак её собирают левой задней пяткой, но кто в здравом
    > уме кодит на винде?

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

     
     
  • 4.81, Aceler (ok), 19:27, 14/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    >> Да, на мак её собирают левой задней пяткой, но кто в здравом
    >> уме кодит на винде?
    > Пофиксил, не благодари

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

    И.О.К.О.

     
  • 3.82, йцук (?), 19:45, 14/11/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >Да, на мак её собирают левой задней пяткой, но кто в здравом уме кодит на мак?

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

     
     
  • 4.84, arisu (ok), 19:56, 14/11/2013 [^] [^^] [^^^] [ответить]  
  • +3 +/
    программы под макость просто не нужно писать.
     
  • 2.56, iZEN (ok), 15:03, 14/11/2013 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > IDE на скриншоте одна из самых отвратительных, что я видел. Такое чувство,
    > что у них в качестве шрифтов Comic Sans, ну или что-то подобное.

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


     
     
     
     
    Часть нити удалена модератором

  • 5.83, йцук (?), 19:48, 14/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > Ну какой админ, такой и результат. Я о твоих высказываниях много читал.
    > Я вообще удивляюсь, как у тебя чтото работает? :) Или человечеству
    > повезло и ты не админ?

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

     
     
  • 6.85, arisu (ok), 20:00, 14/11/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    о, ещё один считает, что Чёрная Админская Магия ВНИЗАПНА! отучит эклипс тормозить и жрать память. жабисты такие жабисты: «чо? наша софтина тормозит? память жрёт? йо, чуваки, вы же не нищеброды, купите компьютер помощней и докиньте туда ещё восемь гигов памяти! что? оптимизации? слышали один раз: фигня какая-то бесполезная. и вообще: вы что, хотите параллельно с нашей Великолепной Программой что-то ещё запустить? не, так не пойдёт, на это никто не рассчитывал.»
     
  • 5.79, arisu (ok), 18:56, 14/11/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Это ты IDEA не видел.

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

     
  • 3.75, kurokaze (ok), 18:36, 14/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > у кого KDE, те поймут

    Чего поймут то? У меня Эклипс почти как остальные 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 (ok), 11:33, 14/11/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Хм, а сахар то на порядок лучше и грамотнее чем в шарпе.
     
  • 1.34, анон (?), 11:41, 14/11/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Использование для присвоения первоначальных значений (инициализации переменных) оператора ":=";

    а смысл?

     
     
  • 2.35, Аноним (-), 11:47, 14/11/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    В Scala декларация переменной как в паскале через двоеточие и типом справа, а тут будет присвоение в стиле паскаля :-)))
     

  • 1.42, Aceler (ok), 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 (ok), 15:13, 14/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > потому что Java контролирует не redhat :-)

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

     

  • 1.47, arisu (ok), 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 (ok), 17:03, 14/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > стройных абстракций явы

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

     
     
  • 3.89, виндотролль (ok), 20:59, 14/11/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >> стройных абстракций явы
    > спасибо, посмеялся.

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

     
  • 2.77, kurokaze (ok), 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 +/
    Джависты такие джависты... "А давайте возьмем что-то хорошее из других языков, но назовем по другому и сделаем посложнее - раз уж нам было тяжело придумать, пускай остальные помучаются, пока поймут". Как было, например, с дженериками.

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

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


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

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

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

     

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



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

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