The OpenNET Project / Index page

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

Google выпустил язык программирования Dart 1.0, созданный для замены JavaScript

14.11.2013 20:20

Компания Google представила первый стабильный релиз языка программирования Dart 1.0 и связанного с ним SDK для разработчиков web-приложений. Отмечено, что выпуск Dart 1.0 можно считать сформировавшимся и готовым для разработки реальных web-приложений. Dart позиционируется как язык структурированного программирования для Web, который в долгосрочной перспективе может стать прогрессивной заменой JavaScript, решающей имеющиеся в настоящее время проблемы с расширяемостью, производительностью и поддержкой разработки сложных приложений.

Для упрощения разработки на языке Dart поставляется SDK, включающий в себя компилятор в JavaScript - dart2js, виртуальную машину Dart VM, пакетный менеджер pub, статический анализатор кода dart_analyzer и набор библиотек. Для выполнения и отладки приложений на языке Dart, без компиляции в JavaScript, распространяется Dartium - сборка браузера Chromium с интегрированной виртуальной машиной Dart VM. В дальнейшем планируется включить поддержку Dart в основные ветки Chrome/Chromium. В репозитории pub уже размещено более 500 пакетов, в том числе подготовлены фреймворки для разработки web-приложений AngularDart и polymer.dart. При помощи специальной прослойки возможно использование JavaScript библиотек в проектах на языке Dart.

Для упрощения разработки в состав SDK входит Dart Editor - специализированная интегрированная среда разработки на языке Dart. Dart Editor с одной стороны достаточно легковесен и не требователен к ресурсам, а с другой поддерживает такие элементы современных IDE, как рефакторинг, автодополнение кода, переход на определения, контекстные подсказки, содержит встроенный отладчик и анализатор кода. Плагины с поддержкой Dart также подготовлены для IntelliJ IDEA, WebStorm, Eclipse, Emacs, Sublime Text 2 и Vim.

Язык обладает похожим на Java синтаксисом, не требует явного определения типов и может использоваться для создания серверных и клиентских приложений. Для запуска внутри браузера код на языке Dart может быть преобразован в JavaScript-представление или запущен напрямую под управлением специального JavaScript-интерпретатора Dartboard. Поддерживается встраивание кода на языке Dart в HTML-страницы, используя mime-тип "application/dart". На стороне сервера приложение на языке Dart может быть выполнено внутри специальной виртуальной машины, которая обеспечивает производительность выполнения близкую к компилируемым в машинный код языкам. Виртуальную машину Dart планируется интегрировать в будущие версии браузера Chrome, что позволит выполнять приложения на языке Dart без компиляции в JavaScript.

Язык подходит как для разработки одним программистом небольших скриптов без жесткой структуры, так и для создания высокомасштабируемых больших модульных проектов, поддерживаемых большим коллективом и требующих более явной типизации для того чтобы избежать неразберихи и ошибок. При этом явное задание типов не обязательно, например, можно начать разработку без указания типов, а в дальнейшем при необходимости добавить их (например, изначально написать "var x", а потом заменить на "num x"). Код Dart всегда выполняется только в рамках одного потока, для организации параллельного выполнения предлагается использовать классы с атрибутом isolate. В каждом скрипте используется собственное пространство имён, для использования внешних объектов, функций или переменных следует их явно импортировать при помощи конструкции "import". Все переменные по умолчанию действуют только в пределах текущего скрипта и не экспортируются глобально.

Интересно, что код на языке Dart скомпилированный в JavaScript при помощи dart2js по данным теста DeltaBlue выполняется в браузерах на базе движка V8 на 42-130% быстрее, чем аналог того же кода, написанный вручную на JavaScript. Получаемый на выходе dart2js код также отличается компактностью.

Особенности языка Dart:

  • Привычный и простой для изучения синтаксис, естественный для программистов на JavaScript, Си и Java.
  • Обеспечение быстрого запуска и высокой производительности для всех современных web-браузеров и различных типов окружений, от портативных устройств до мощных серверов;
  • Возможность определения классов и интерфейсов, позволяющих использовать инкапсуляцию и повторно использовать существующие методы и данные;
  • Необязательное указание типов, использовать или нет статические типы решает разработчик. Указание типов позволяет упростить отладку и выявление ошибок, делает код более ясным и читаемым, упрощает его доработку и анализ сторонними разработчиками.
  • Среди поддерживаемых типов: различные виды хэшей, массивов и списков, очереди, числовые и строковые типы, типы для определения даты и времени, регулярные выражения (RegExp). Возможно создание своих типов;
  • Для организации параллельного выполнения предлагается использовать классы с атрибутом isolate, код которых выполняется полностью в изолированном пространстве в отдельной области памяти, взаимодействуя с основным процессом через отправку сообщений;
  • Поддержка использования библиотек, упрощающих поддержку и отладку больших web-проектов. Сторонние реализации функций могут подключаться в виде разделяемых библиотек. Приложения можно разбить на части и поручить разработку каждой из частей отдельной команде программистов;
  • Набор готовых инструментов для поддержки разработки на языке Dart, включая реализацию средств динамической разработки и отладки с исправлением кода на лету ("edit-and-continue");
  • Возможность создавать однородные системы, охватывающие как клиентскую, так и серверную часть. Использование одного языка и инструментария для клиентских и серверных компонентов упрощает процесс кодирования и избавляет от постоянной смены контекста.



  1. Главная ссылка к новости (http://google-opensource.blogs...)
  2. OpenNews: Для языка Dart представлен сервис компиляции приложений, работающий на стороне браузера
  3. OpenNews: Открыт код Duetto, системы для запуска в web-браузере проектов на языке C++
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/38432-dart
Ключевые слова: dart, web, javascript, lang
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (152) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Guest (??), 20:24, 14/11/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    если проспонсировать Mozillовцев, чтобы тоже поддержку Dart'a в Firefox включили ...
     
     
  • 2.3, Ушастик (?), 20:29, 14/11/2013 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Дарт отлично компилится в js. Наличие нативной поддержки на уровне ВМ браузера — только палки в колеса ставить стремительно развивающемуся языку.
     
     
  • 3.16, Crazy Alex (ok), 21:34, 14/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Вопрос только - как быстр этот JS в мозилле, а не на V8. Мнится мне, что не особенно.
     
     
  • 4.18, kb (?), 21:56, 14/11/2013 [^] [^^] [^^^] [ответить]  
  • +3 +/
    В мозилле asm.js, пусть под него подстраиваются.
     
     
  • 5.44, Аноним (-), 01:26, 15/11/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Фееричное удаление гланд через джеппу автогеном.
     
  • 4.155, кпукцп (?), 09:53, 16/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Мозилла может взять V8 )
     
  • 2.9, Аноним (-), 21:02, 14/11/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Это было бы здравой идеей. Косяки яваскрипта уже достали.
     
     
  • 3.11, Аноним (-), 21:06, 14/11/2013 [^] [^^] [^^^] [ответить]  
  • +18 +/
    Хочешь чтобы теперь ещё и косяки Dart достали?
     
     
  • 4.19, rshadow (ok), 22:04, 14/11/2013 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Косяки есть везде и всегда. Но яваскрипт это шедевр говноязыка. Теперь, когда первенство проприетарного уг типа ie (и оперы) сведено на нет, самое время продвигать нормальные языки.
    Дартс я не знаю нормальный или нет .. пощупаем. Но тенденция радует.
     
     
  • 5.25, Анончик (?), 22:34, 14/11/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ниасилил прототипы?
     
     
  • 6.81, Мимо шел (?), 09:14, 15/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    IDE не осиливают прототипы
     
  • 5.94, Аноним (-), 12:52, 15/11/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Согласен. В Dart'е хотя бы есть статическая типизация.
     
     
  • 6.95, Аноним (-), 12:57, 15/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    И где же она там?
     
     
  • 7.96, Аноним (-), 13:08, 15/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    http://en.wikipedia.org/wiki/Dart_(programming_language)#Runtime_modes
     
     
  • 8.109, Аноним (-), 15:14, 15/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Незачёт Статическая типизация, это когда тип известен до выполнения Рантайм че... текст свёрнут, показать
     
     
  • 9.124, Аноним (-), 18:10, 15/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Из вики про типизацию Static type-checking is the process of verifying the typ... текст свёрнут, показать
     
  • 8.120, arisu (ok), 17:47, 15/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    это не статическая типизация, это динамическая типизация с проверками ... текст свёрнут, показать
     
  • 3.146, Кот (??), 23:18, 15/11/2013 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Теперь косяки будут не в JS а Dart) Google уже как APPLE - лишь бы чем то выпендриться
     
  • 2.73, Аноним (-), 06:04, 15/11/2013 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Им ещё Dart'овскую VM на своём Rust'е переписывать.
     

  • 1.2, Аноним (-), 20:25, 14/11/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Это как google+, исключительно для сотрудников google?
     
     
  • 2.93, Аноним (-), 12:50, 15/11/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Учитвая, что Opera перешла на Blink, а разработка Firefox ведётся на деньги гугла, то скоро Dart'а не будет, разве что, в IE и Safari.
     

  • 1.4, Аноним (-), 20:31, 14/11/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    ...исключительно для браузера chrome
     
  • 1.6, Аноним (-), 20:41, 14/11/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    1-й же пример кода на сайте доставляет

    return fib(n-1) + fib(n-2);

     
     
  • 2.8, Guest (??), 20:51, 14/11/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А что смущает?
     
     
  • 3.15, Another Guest (?), 21:22, 14/11/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Рекурсия.
     
     
  • 4.17, Ушастик (?), 21:36, 14/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Это классический пример кода рекурсии. Понятно, что реальный код так писать никто не будет. Хотя вот оптимизация хвостовой рекурсии у команды Дарта в планах. Конечно же, больше всего этому мешает необходимость компилироваться в js.
     
     
  • 5.26, pavlinux (ok), 22:44, 14/11/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Понятно, что реальный код так писать никто не будет.

    Малые факториалы тоже через гамму функцию считаешь?

     
     
  • 6.28, Ушастик (?), 22:53, 14/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Обязательно, только так.
     
     
  • 7.30, pavlinux (ok), 23:02, 14/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    А летом в гриндерсах ходишь? И саморезы молотком забиваешь?
     
     
  • 8.112, Ordu (ok), 16:32, 15/11/2013 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Забитый саморез держится лучше, чем вкрученный гвоздь ... текст свёрнут, показать
     
  • 5.42, Аноним (-), 00:59, 15/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Оптимизация хвостовой рекурсии - это такая штука, которая вроде как сначала работает, а потом поменяли чуть выражение и бац - чтобы сложить числа отъелась вся оперативка?

    Это хорошо для исследовательских языков, где зависло - нажал ctrl-C и попробовал по-другому, а в продакшн - нафиг-нафиг.

    Ещё и монады прикрутить, ага. Которые в принципе синтаксически очень приятный хаскел по удобству реального применения ставят в один ряд с брейнфаком.

     
     
  • 6.58, Ушастик (?), 03:36, 15/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Ничего подобного, более того, например, в Clojure надо явно указывать, что собираешься ее использовать, там вариант "случайности" исключен вообще. В других языках, где нет формального разделения все ложится на программиста, но опять же, для функциональных языков это стандартный паттерн, и ошибки подобного рода достаточно редки. Разработчикам Dart если уж хотят перестраховаться ничего не стоит применить опыт Clojure, чтоб уж наверняка.

    Монады в неявном виде есть практически во всех современных языках программирования. Эта тема не раз уже обсасовалась со всех сторон. То что в Хаскеле их выделили и дали им названия, не приватизирует их.

     
     
  • 7.97, Аноним (-), 13:10, 15/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    >в Clojure надо явно указывать, что собираешься ее использовать

    Это кстати не от хорошей жизни, а от недостатков JVM. Но идея получилась здравая, да.

     
     
  • 8.107, Ушастик (?), 14:21, 15/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Сомневаюсь что из-за JVM, потому как в Scala все работает без явного объявления ... текст свёрнут, показать
     
     
  • 9.113, Аноним (-), 16:35, 15/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    С оф сайта In functional languages looping and iteration are replaced implemen... текст свёрнут, показать
     
  • 9.117, arisu (ok), 17:39, 15/11/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    в jvm нет встроенного механизма для TCO, поэтому надо делать тормозящую чёрную м... текст свёрнут, показать
     
     
  • 10.137, Crazy Alex (ok), 22:12, 15/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Я только не пойму, что им мешает разворачивать это дело в нормальный цикл - врод... текст свёрнут, показать
     
     
  • 11.143, arisu (ok), 22:32, 15/11/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    дано представление программы в continuation passing style задача развернуть э... текст свёрнут, показать
     
     
  • 12.161, Crazy Alex (ok), 19:45, 16/11/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Для частого встречающегося случая без continuations - никаких проблем И этот пр... текст свёрнут, показать
     
     
  • 13.164, arisu (ok), 19:57, 16/11/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    ты сказал 171 несложно 187 , а тут вдруг сложности полезли ладно, 171 ника... большой текст свёрнут, показать
     
     
  • 14.169, Crazy Alex (ok), 01:16, 17/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Цепочка как раз совершенно тривиально разруливается - собираем весь код из неё в... большой текст свёрнут, показать
     
     
  • 15.170, arisu (ok), 01:22, 17/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    дорогой, ты в своём уме вообще ты хоть немного представляешь эти мегапортянки в... большой текст свёрнут, показать
     
  • 7.101, Crazy Alex (ok), 13:31, 15/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    "Монады в неявном виде" - это как?
     
     
  • 8.104, Аноним (-), 13:42, 15/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    int main как и все прочие функции - это, в общем-то, по сути и есть монада п... текст свёрнут, показать
     
     
  • 9.118, arisu (ok), 17:41, 15/11/2013 [^] [^^] [^^^] [ответить]  
  • –2 +/
    вы прочитали комментарий человека, жестоко покусаного хаскелем теперь ему везде... текст свёрнут, показать
     
     
  • 10.136, Crazy Alex (ok), 22:10, 15/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Похоже на то... текст свёрнут, показать
     
     
  • 11.148, Аноним (-), 01:09, 16/11/2013 [^] [^^] [^^^] [ответить]  
  • +2 +/
    нет, просто остутствие благоговейного трепета перед страшными словами позволяет ... текст свёрнут, показать
     
  • 10.147, Аноним (-), 01:07, 16/11/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    простите, что делают ... текст свёрнут, показать
     
     
  • 11.149, arisu (ok), 01:09, 16/11/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    какое из русских слов вызвало затруднение ... текст свёрнут, показать
     
     
  • 12.150, Аноним (-), 01:18, 16/11/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Не понимаю причины столь внезапной агрессии ... текст свёрнут, показать
     
     
  • 13.151, arisu (ok), 02:02, 16/11/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    это потому, что ты агрессию сам выдумал, и теперь хочешь, чтобы я пояснил тебе, ... текст свёрнут, показать
     
     
  • 14.152, Аноним (-), 02:42, 16/11/2013 [^] [^^] [^^^] [ответить]  
  • –2 +/
    ок, будем считать твоё высказывание про мерещится твоей неумелой шуткой... текст свёрнут, показать
     
     
  • 15.153, arisu (ok), 02:50, 16/11/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    ну, спасибо даже от сердца отлегло ... текст свёрнут, показать
     

     ....большая нить свёрнута, показать (30)

  • 1.12, Inome (ok), 21:10, 14/11/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +6 +/
    Это однозначно неделя языков программирования))
     
  • 1.13, kill_the_noise (?), 21:16, 14/11/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    красивое перспективное описание, пойти учит что-ли ? [:-))
    ++!
     
     
  • 2.21, rshadow (ok), 22:24, 14/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    вот как выйдет dQuery так и примемся
     
     
  • 3.22, Аноним (-), 22:26, 14/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Оно там нафиг не нужно. Dart c DOM элегантно работает и без жабоскриптовых костылей типа jQuery.
     
     
  • 4.33, тоже Аноним (ok), 23:44, 14/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    А при компиляции в JS так же элегантно достает костыли?
    Что-то не слишком громко заявлено о кроссбраузерности полученного таким образом кода. Может, с ней есть "небольшие проблемы"?
     
     
  • 5.39, Аноним (-), 00:34, 15/11/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Нет, туда просто забивается много костылей.
    google:// Hello world на языке Dart, скомпиленный в js, занял 17259 строк
     
     
  • 6.83, Аноним (-), 09:39, 15/11/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    [::||||||||||||||::]-же дикий. Оно уже давно пофикшено.
     
  • 4.55, rshadow (ok), 03:18, 15/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    К сожалению как бы хорошо он не работал с DOM все равно нужна куча костылей и проверок на браузер. Иначе обычный AJAX запрос превратится в адъ. И т.д. и т.п.
     

  • 1.14, Аноним (-), 21:21, 14/11/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • –4 +/
    Ура. Отличная вещь. Еще бы побольше библиотек для server-side разработки и вообще будет красота. НЕмного правда вымораживает _ вместо private, но это все мелочию
     
     
  • 2.20, Аноним (-), 22:22, 14/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    для сервер-сайда у гугла есть Go
     
     
  • 3.23, Аноним (-), 22:28, 14/11/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Go тоже интересная вещь, но все таки Dart позиционируется как язык для server/client-side разработки, а не только как замена js в браузере.
     
  • 2.24, rshadow (ok), 22:29, 14/11/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Ура. Отличная вещь. Еще бы побольше библиотек для server-side разработки

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

     
  • 2.71, Аноним (-), 05:30, 15/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    >НЕмного правда вымораживает _ вместо private

    Они тоже упоролись, как и разработчики Angular? Как тогда работать с ключами MongoDB (которые именуются _id?

     

  • 1.29, 3draven (ok), 22:59, 14/11/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Сначала они запилили gwt с компилятором в javascript, вроде бы не прокатило толком. Решили с другого конца заехать и запилили dart с компиляцией в javascript и потенциальным серверсайдом. Прием все это очень похоже на яву, прямо таки очень-приочень. Спрашивается, зачем? Неужели хотят оракл выдавить и место занять? Корпорация добра замахивается аднака.
     
     
  • 2.34, тоже Аноним (ok), 23:49, 14/11/2013 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Посмотрите на вопрос не через призму мемов.
    Фирма, достаточно мощная, чтобы самой делать себе инструменты разработки, не только делает эти инструменты общедоступными, но и тратится на их пиар. Если то, в чем было удобно работать программистам Гугля, станет отраслевым стандартом - нам-то с вами от этого явно хуже не станет. Если Гугль еще и найдет возможность получить с этого профит - ну, и славно!
    "Да не хулится ваше доброе".
     
     
  • 3.36, 3draven (ok), 00:18, 15/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Перетащив массу программистов на свои разработки гугль получает контроль над ними, а дальше, как кривая вывезет. Можно много чего придумать и просто сказать "так будет"...как сейчас оракл делает. Причем я не ругал, а констатировал. В любом случае никакой апач и прочие не могут конкурировать с ораклом и гуглем...ну еще красношапка есть с мелкософтом. Так что это все ругать как на дождь орать, что он пошел :) Факт остается фактом, гугль метит в контроллеры следующего витка развития веба...а он состоит в простой мысли "расстрелять зоопарк". Сейчас будет рождаться следующий, универсальный, сквозной фреймворк для разработки клиент-сервера. Если заметите, очередь в цари уже выстроилась :)
     
     
  • 4.40, Аноним (-), 00:38, 15/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Мне написать весь список проектов которые Гуугл похоронил/поддерживат в полуживом состоянии/выкинул сообществу?


     
  • 4.82, тоже Аноним (ok), 09:36, 15/11/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Вы просто представить себе не можете, какую армию профессионалов сейчас контролирует, казалось бы, скромный ботаник Бьярне Страуструп... Бойтесь быть его врагом!!!
     
  • 3.37, 3draven (ok), 00:21, 15/11/2013 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Причем, обратите внимание. Красношапка выкатила цейлон (он имеет свой sdk и утилиты и компилируем в javascript), гугл выкатил дарт и го, окракл выкатил invoke dynamic на jvm что бы платформа цвела.

    Знаете почему? Чуют все, что ява приказывает долго жить и обратная совместимость не дает ей развиваться. Потому то и начали потихоньку рынок делить, будущий рынок, скоро программисты Ынтерпрайза с явы побегут, остается понять куда и присоединиться :)

     
     
  • 4.51, Аноним (-), 02:01, 15/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > Чуют все, что ява приказывает долго жить

    Странное заявление на фоне новостей "Андроид продается от 1 000 000 аппаратов в день" и "Количество приложений для достигло миллиона".
    > и обратная совместимость
    > не дает ей развиваться.

    Проклятая совместимость - не дает развиваться. Видимо истории с Python 3, D 2.0, Perl 6 и  т. д., никого ничему не учат.

     
     
  • 5.53, 3draven (ok), 02:31, 15/11/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    так усе, на ведроиде зацветет дарт, поверх далвика.
     
  • 4.100, Kodir (ok), 13:30, 15/11/2013 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > ... скоро программисты Ынтерпрайза с явы побегут

    Ха-ха! Ну ты пошутил :) Да не "скоро", а уже лет 10 как бегут - только пятки сверкают! Сейчас бегут уже те тормоза, кому ноги по горло промочило - опомнились.
    Дотнет - вот куда им всем дорога, пусть хоть на старости лет поживут спокойно.

     
     
  • 5.122, arisu (ok), 17:48, 15/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    какой Иксперт у нас в треде! senior developer, небось, автор кода, систем и архитектур.

    (присмотрелся повнимательней) ой, извините, я обознался. это просто говорящая жопа.

     
  • 3.84, linux must __RIP__ (?), 09:44, 15/11/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    хорошо бы задуматься - а зачем собственно пиар нужен? какие комерческие цели это решает?
     
     
  • 4.98, тоже Аноним (ok), 13:23, 15/11/2013 [^] [^^] [^^^] [ответить]  
  • +2 +/
    У популярных языков, бывает, вдруг появляются наработки в виде библиотек и решений, позволяющих сократить затраты на разработку. Так что Гуглю интересно, чтобы его рабочий инструмент был широко известен и популярен.
     
  • 4.102, Crazy Alex (ok), 13:36, 15/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Это как раз понятно.

    Гуглу нужны хорошие качественые веб-приложения (не только свои), чтобы пересадить людей с натива. Логично, что для этого нужны приличные инструменты. А джаваскрипт для больших приложений - это ад кромешный.

    Ну и оказать давление для стандартизации Дарта, конечно.

     
  • 3.90, mf (ok), 11:05, 15/11/2013 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Поделки гугла никаким стандартом стать не могут, потому как не доживают до написания даже черновика
     
  • 2.47, Антоним (?), 01:49, 15/11/2013 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Корпорация Добра не может писать код прямо в яваскрипте, корпоративная магия исчезает когда клиент может просто посмотреть код, пусть и обфускаченый, (или не просто посмотреть а и улучшить или слямзить ;-) ). Вот они и защищают свою интелектуальную собственность.
     
     
  • 3.57, Crazy Alex (ok), 03:34, 15/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Чушь.

    Чем разбирать миниммизированный JS - легче свой написать.

     

  • 1.32, YetAnotherOnanym (ok), 23:28, 14/11/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Пример vbscript'а в IE их ничему не научил?
     
     
  • 2.35, Аноным (ok), 23:58, 14/11/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    То было давно и конкурировало на одном уровне развития, а это как замена устаревшему языку идёт.
     
     
  • 3.45, Аноним (-), 01:28, 15/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > замена устаревшему языку идёт.

    Ну если в возможность убедить мозиллу это сделать я еще поверю, то вот MS тут выступит стояночным тормозом ручного типа.

     
     
  • 4.49, Сталин (?), 01:51, 15/11/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    IE уже просто аниме трупак
     
     
  • 5.52, Аноним (-), 02:08, 15/11/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ты это расскажи нашему правительству которое обязывает пользоваться интернет сервисами поддерживающими только ie. Я сейчас на работе массово делаю дангрейд до ie 8 так как площадка http://www.sberbank-ast.ru/ поддерживает только ie 7-8.
    http://www.sberbank-ast.ru/Page.aspx?cid=2193

    >операционная система MS Windows 2000, XP, Vista или Windows 7;
    >Internet Explorer версии 7.0. либо 8.0;

     
  • 3.46, mf (ok), 01:48, 15/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    То были забавные уши, вылезшие из общесистемного интерфейса active scripting и COM, из времён, когда мс пытался что-то делать. Каждый разработчик языка реализовавший интерфейс IActiveScript и взаимодействие с OLE-типами - засовывал в wsh, asp, IE поддержку своего языка.  Например ActivePerl.
    VBScript использовался в основном в HTML Application (Этакий тизен прошлого тысячелетия), - там где взаимодействие с COM преобладало над DOM. А это - хрень какая-то, концепт языка более лучшего чем яваскрипт.
     

  • 1.56, arisu (ok), 03:34, 15/11/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    это искромётная шутка про polymer.dart и речь начальника цеха полимерных покрытий.
     
  • 1.77, Анонисимус (?), 06:17, 15/11/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А плагин к IDEA кто-нибудь пользует? У меня в PyCharm на попытку запустить скрипт выдает 'Error running dartcons.dart: Cant find Dart executable\: {0}', хотя в настройках плагина пути к SDK прописаны, и версию плагин правильную показывает.
     
     
  • 2.78, arisu (ok), 06:24, 15/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    плохо пользовал. ты компрессы попробуй, горчичники…
     
  • 2.85, Аноним (-), 09:45, 15/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Я пользую и в IDEA и в PhpStorm. Все работает на отлично.
     
  • 2.86, Leshka (?), 09:46, 15/11/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Использовал с phpstorm 6, полет нормальный. Хотя он умеет только подсвечивать синтаксис. Поодержки отладки нет.

    Я вообще не понимаю зачем гугл наступает на эти грабли под названием Eclipse еще раз. Они уже делали Android SDK на его основе, потом перешли на IDEA. Eclipse же дико неудобный после того как попользоваться ide от JetBrains.

     
     
  • 3.87, Аноним (-), 09:54, 15/11/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Есть там поддержка отладки.
     

  • 1.80, jOKer (ok), 07:41, 15/11/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    И все равно без фреймворков обеспечивающих поддержку единообразного доступа к источникам данных (включая рест) и связку их с визуальными компонентами (и сами визуальные компоненты, кстати, тоже) практическая ценность дарта на клиентской стороне не велика.... а в AngularDart и polymer.dart, упомянутых в статье, этого вроде как и нет.
     
     
  • 2.88, Аноним (-), 09:59, 15/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Есть же WebUI для визуальных компонентов. С REST, Ajax, WebSockets оно умеет работать и очень даже хорошо. А какой еще доступ к данным может быть на клиентской стороне? Вот нормальных ORM-ов на стороне сервера действительно не хватает.
     
  • 2.103, Crazy Alex (ok), 13:41, 15/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Думаю,скоро до них дойдет и они таки напишут UI на чистом канвасе. И получат гарантироанно кроссплатформенную предсказуемую работу.

    Ну а доступы и ресты - штука не такая сложная, не гуглы - так кто-то другой нарисует.

     
     
  • 3.106, jOKer (ok), 14:20, 15/11/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Не все так просто Обозначу несколько проблем на самом деле их куда больше - ... большой текст свёрнут, показать
     
     
  • 4.108, анонимус (??), 14:26, 15/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    >- сложным веб-приложениям требуются механизмы уровня контроллера. Я имею ввиду управления сценами, переходами между сценами, маршрутизацию запросов и т. д. Полагаю, что этого в тулкитах под дарт тоже нет пока. А это значит, что те же мобильные веб-приложения отдыхают в стороне.

    man Rikulo

     
  • 4.138, Crazy Alex (ok), 22:18, 15/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Думаю, что всё будет проще. Не будет ни маршрутизации, ни чего-то подобного. Будет XML или JSON, описывающий построеие интерфейса, и отрисовка всего и вся на канвасе так, как делается на десктопе или на андроиде. Благо, в отличие от веба, всё это сто лет как отработано и может быть портировано со вполне разумными усилиями.

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

    Ну а картинки предварительно подтянуть, если они в XML отмечены - явно не проблема.

     
     
  • 5.156, jOKer (ok), 10:37, 16/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    На самом деле еще как имеет Потому что окончание этой подгрузки - есть событие... большой текст свёрнут, показать
     
     
  • 6.157, mf (ok), 12:52, 16/11/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    require можно было и по короче продемонстрировать. А вот проблему подняли годную. Онолитеги радуются появлению в яваскрипт всякого бреда, на подобие классов, свойств. В то время как действительно важные проблемы, описанные и частично решенные у Фланагена так и остаются за бортом.
     
  • 6.162, Crazy Alex (ok), 19:54, 16/11/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Какой DOM? Оно надо - бороться с несовместимостями? Тупо страница, состоящая из нескольких <script> и одного <canvas>. Ну плюс декор какой-то, не относящийся к работе приложения.

    Дальше прилетает с CDN (а точнее - давно прилетел и лежит в  кэше) ком из дарт-скриптов мегабайта на три или на десять, который и рисует на этом канвасе контролы и обеспечивает их гарантированно одинаковую работу где угодно. Ресурсы приложения подтянуть и понять, когда загрузка заврешилась - как-то никто аяксовые события не отменял.

    Вот это и будет в конце концов. Потому что нефиг городить сложное, если можно обойтись грубой силой.

     
     
  • 7.166, mf (ok), 22:24, 16/11/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Это Вы ActiveX(Java applet, Flash, SilverLight) описали?
    require решает проблему разрешения ссылок при организации деления на модули при их динамической (и асинхронной) загрузке. Из кеша файлы загружаются так же непоследовательно как и по http.
    В общем что-то не ту проблему Вы увидели и решили.
     
     
  • 8.168, Crazy Alex (ok), 01:08, 17/11/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Из кэша можно подождать пока загрузится вообще всё - через require, или ещё что-... большой текст свёрнут, показать
     
     
  • 9.173, mf (ok), 01:29, 17/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Вы не имеете опыта программирования на javascript ... текст свёрнут, показать
     
  • 3.119, arisu (ok), 17:42, 15/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > Думаю,скоро до них дойдет и они таки напишут UI на чистом канвасе.

    это да, я с нетерпением жду, когда в программе, по сути являющейся одним гигантским layout engine на её скриптовом языке начнут писать layout engines. а TCO тут нет.

     
     
  • 4.139, Crazy Alex (ok), 22:21, 15/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Учитывая, что эта layout engine уже мега гигантская и при этом напрочь не приспособлена для формирования интерфейсов приложений - всё рано до этого дойдёт. Особенно при том, что на таких объемах спек различий между реализациями не быть не может в принципе - соблазн выкинуть к чертям 90% костылей будет очень велик.
     
     
  • 5.144, arisu (ok), 22:36, 15/11/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    фишка в том, что «основной» layout engine при этом никто не выкинет — хотя это самое логичное. собрать всех идиотов с их «веб-приложениями» и выделить им отдельную платформу, на которой «веб-приложения» перестанут быть как идиотизмом, так и «веб», а станут просто сетевыми. кто сказал «java web start»?!
     
     
  • 6.163, Crazy Alex (ok), 19:55, 16/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Угу, именно так.

    И кто-то еще сказал "Flex" :-)

     

  • 1.89, Аноним (-), 11:02, 15/11/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    просто праздник языков программирования какой-то
     
  • 1.92, Аноним (-), 12:45, 15/11/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    >выполняется в браузерах на базе движка V8 на 42-130% быстрее

    Т.е. в два раза медленнее в худшем и в 1.3 раза быстрее в лучшем случае - маркетинг такой маркетинг.

     
     
  • 2.105, Crazy Alex (ok), 13:43, 15/11/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Читайте внимательнее.

    Это в 1.4 раза быстрее в худшем и в 2.3 раза быстрее в лучшем случае.

     
     
  • 3.115, Аноним (-), 16:51, 15/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    А теперь внимательно посмотрите на график. Пусть из новости это не понятно, но это результат бенчмарка DeltaBlue. Зелёная линия посередине - JavaScript, та что ниже - Dart компилированный в JS, та что выше - Dart в своей VM. Чем выше - тем быстрее. Как вы можете видеть - Dart компилированный в JS в худшем случае в два раза медленнее JS, в лучшем - в 1.3 раза быстрее.
     
     
  • 4.140, Crazy Alex (ok), 22:23, 15/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Не смущает, что по горизонтальной шкале - даты? Это, вообще-то, картинка, на которой показано, до каких высот в оптимизации они дошли.
     
     
  • 5.167, Аноним (-), 00:47, 17/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Но цифры 42-130% были взяты именно из этой таблички. Я ж не виноват, что новость так дезинформирует.
     
  • 4.158, z (??), 14:25, 16/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    https://www.dartlang.org/performance/
     

  • 1.99, Kodir (ok), 13:27, 15/11/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Будь у Дарта хоть тысяча преимуществ над жабоскриптом, Дарт не взлетит - слишком поздно они проснулись. Когда только эта жабо-зараза ещё начала распространяться, уже тогда мы предупреждали: язык - отстой, годится только для однострочных действий, в продакшене такое чмо нафик не нужно! Но нет, запилили аж десять версий, а теперь на те - оказывается, он плохой! Клоуны...
     
     
  • 2.121, arisu (ok), 17:47, 15/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    мнение говорящей жопы очень ценно для мира.
     
     
  • 3.129, Аноним (-), 21:36, 15/11/2013 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > мнение говорящей жопы очень ценно для мира.

    Да и ты тоже она самая....

     
     
  • 4.134, arisu (ok), 21:42, 15/11/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Да и ты тоже она самая….

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

     

  • 1.110, asavah (ok), 15:37, 15/11/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Блин ещё один супер-пупер язык для коллекции.
    Но почему-то выживают только самые мутные и костыльные.
     
     
  • 2.111, Аноним (-), 16:24, 15/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Вот почему, вздыхает фермер Иван, трактора в магазине такие красивые и блестящие, а в деревне все ездят на грязных да ржавых, да с приваренными косилками и привязанными боронами. Дураки!
     
     
  • 3.114, asavah (ok), 16:44, 15/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Да, есть такой бяда.
    Но если говорить о вэб-дизайне/браузерном скриптинге то возникает большая проблема:
    Если взять весь зоопарк браузеров - они даже html/css стандарты по разному понимают, а клиент "хочет" чтоб сайт одинаково выглядел как на 6-м осле так и на модных хромых/операх/ойфоновских сафари итп. Что делает разраб - берёт то, что работает более-менее везде и лепит костыли для кривых браузеров.
    Мораль сей басни такова - к большому сожалению пока не будет нормальной поддержки во всех "мажорных" браузерах новым, правильным и вкусным технологиям не жить.
    ЗЫ Разраб просто не будет терять время на написание одной и той же хрени 2 раза - один раз на модном языке для нормальных браузеров и второй например на жабаскрипте для ослов и прочего непотребства.
     
     
  • 4.123, arisu (ok), 17:51, 15/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    потому что изначально надо было сделать бинарные форматы и жёстко специфицировать всё поведение. и вместо языка выкатить спеки VM. и сейчас всё было бы лучше, быстрее, проще и красивей.

    а теперь уже поздно: слишком много говна наделали.

     
     
  • 5.126, asavah (ok), 18:25, 15/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    +100500
    но говорят, что когда-то давным-давно некий дядя сказанул :"640K ought to be enough for anybody.".
    Вот так и живём с бородой 100летней давности и дрожа из-за "backward compatibility".
     
     
  • 6.127, arisu (ok), 18:49, 15/11/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > но говорят, что когда-то давным-давно некий дядя сказанул :"640K ought to be
    > enough for anybody.».

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

     
  • 6.130, Аноним (-), 21:37, 15/11/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > +100500
    > но говорят, что когда-то давным-давно некий дядя сказанул :"640K ought to be
    > enough for anybody.".
    > Вот так и живём с бородой 100летней давности и дрожа из-за "backward
    > compatibility".

    Главная максима ИТ гласит: "Совместимость важнее производительности".

     
     
  • 7.135, arisu (ok), 21:43, 15/11/2013 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Главная максима ИТ гласит: «Совместимость важнее производительности».

    именно поэтому, наверное, у нас нет ни того, ни другого.

     

  • 1.116, Аноним (-), 17:30, 15/11/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Ну всё! Теперь осталось вытеснить хромиумом все остальные браузеры!
     
     
  • 2.131, Аноним (-), 21:37, 15/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > Ну всё! Теперь осталось вытеснить хромиумом все остальные браузеры!

    А это не составит труда.

     
     
  • 3.141, Crazy Alex (ok), 22:27, 15/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Вообще-то, как ни странно, его в последние пару месяцев IE чуток отпихнул. Каким чудом - убей, не пойму.
     
     
  • 4.145, arisu (ok), 22:37, 15/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > Вообще-то, как ни странно, его в последние пару месяцев IE чуток отпихнул.
    > Каким чудом — убей, не пойму.

    так ишак нумер 11 вышел же.

     
  • 4.154, тоже Аноним (ok), 09:41, 16/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Чудо простое: веб-дизайнеры всего мира сразу начали его использовать... для поиска новых проблем, которые принес очередной выкидыш MS.
     

  • 1.125, некто (ok), 18:24, 15/11/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > "Язык обладает похожим на Java синтаксисом, не требует явного определения типов..."

    как это феерично...

     
  • 1.128, Филипп Филиппович (ok), 19:25, 15/11/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Дай-то Бог, чтобы что-нибудь такое уже наконец взлетело.

    JS, может, не так и страшен, если рассматривать его абстрактно от того, для чего он применяется. Даже в чём-то интересен, пожалуй. И прототипы красоты не лишены. Но для того, для чего он применяется в вебе, он совершенно неподражаемо ужасен, и почти весь код на нём напоминает попытку сложить слово "вечность" из четырёх букв: Ж, О, П и А.

     
     
  • 2.133, Аноним (-), 21:39, 15/11/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Дай-то Бог, чтобы что-нибудь такое уже наконец взлетело.
    > JS, может, не так и страшен, если рассматривать его абстрактно от того,
    > для чего он применяется. Даже в чём-то интересен, пожалуй. И прототипы
    > красоты не лишены. Но для того, для чего он применяется в
    > вебе, он совершенно неподражаемо ужасен, и почти весь код на нём
    > напоминает попытку сложить слово "вечность" из четырёх букв: Ж, О, П
    > и А.

    Язык и кодеры - не синонимы.

     
     
  • 3.142, Crazy Alex (ok), 22:30, 15/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Кодеры-то всякие, а вот язык... Чтобы его в больших проектах беспроблемно применять его надо сильно заморить на манер непринятого ECMAScript 4, а чтобы это еще и в браузерах жило, а не скреблось в корчах... даже не знаю, что нужно - навреное, действительно тупо байткод и низкоуровневый интерфейс - вот тебе события ввода, вот канвас, вот устройства - вперед. ну нельзя обойьтись без горы костылей и несовместимостей на таких монстрах, как нынешние браузеры с их развесистым API.
     
  • 3.160, Филипп Филиппович (ok), 19:43, 16/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Язык это откровенно провоцирует. Сам по себе, повторюсь, он вполне логичен. Но там, с одной стороны, не хватает массы привычных механизмов (классов без плясок с бубном, наследования без искусственной его имитации и т.п.), зато есть масса непривычных (прототипы, специфическое разрешение областей видимости...). Плюс, будучи чисто динамическим языком, он не так уж хорошо годится для оптимизации скорости. Конечно, с ним теперь чудеса делают, но с более подходящим языком чудес было бы больше.

    Имеет ли такой язык право на существование? Имеет, конечно. Его небезынтересно выучить, на нём прикольно попрограммировать, от того же C/C++ он так забавно отличается по концепциям, что кругозор волей-неволей расширяет.

    Но годится ли такой язык для сугубо утилитарного программирования, например, GUI? Да плохо он для этого годится. И, пожалуй, лучшее доказательство -- посмотреть на любой вменяемый JS-фреймворк для написания сложного GUI. Скажем, лет пять назад я плотно имел дело с ExtJS, ныне Sencha ExtJS, и с Dojo. Стоит вчитаться, как там эмулируют наследование, вот уж где вечность из четырёх букв-то! И ведь видно, что хотят получить именно наследование, но готового механизма в языке нет. Именно такую ситуацию (почти все пользователи нуждаются в неком механизме, а в языке его нет) я и называю "язык не подходит для этих задач".

     
     
  • 4.165, arisu (ok), 20:02, 16/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > Но годится ли такой язык для сугубо утилитарного программирования, например, GUI? Да
    > плохо он для этого годится.

    Алан Кей в удивлении чешет затылок.

     
     
  • 5.171, Crazy Alex (ok), 01:22, 17/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Алан Кей, как бы, не эквивалентен среднему быдлокодеру. А именно этим средним нужно клепать в разумные сроки иногда довольно сложные приложения. И тут JS адски неудобен (вместе с DOM, конечно), хотя костылить его как только не пытались. Вон, последний писк - reactive фреймворки, начавшиеся с AngularJS, с биндингами, иногда даже двусторонними. Концепций много - толку мало...

    Ну и Smalltalk, как ни крути, умер. Полагаю, во многом - как раз из-за своей даской динамичности, которая в продакшне скорее вредна, чем полезна. Можешь сравнить с джавой, которая уродлива со всех сторон, но "правильно" уродлива.

     
     
  • 6.172, arisu (ok), 01:29, 17/11/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Алан Кей, как бы, не эквивалентен среднему быдлокодеру.

    так, пардон, это не «язык не подходит» тогда, это быдлокодер не подходит. так и следует писать: «быдлокодер плохо подходит для создания GUI».

    > Ну и Smalltalk, как ни крути, умер.

    вот тут разработчики squeak, pharo, seaside, aida, swazoo, etc… и поставщики коммерческих смолтолков очень удивились своей высокой продуктивности из могилы. это я уже не говорю о том, что есть весьма навороченый, например, диалект смолтолка, который компилируется в машинный код через си (интересный проект, кстати).

    > из-за своей даской динамичности, которая в продакшне скорее вредна, чем
    > полезна.

    «в продакшене» она совершенно перпендикулярна. а вот hotpatching — очень, очень вкусен. эрланговцы тебе расскажут, какая это прелесть, спроси.

    > Можешь сравнить с джавой, которая уродлива со всех сторон, но
    > «правильно» уродлива.

    да не в этом дело совсем. но тут начинается совсем уже другая сказка.

     
     
  • 7.174, Crazy Alex (ok), 17:46, 17/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Не, язык сменить как-то проще чем взять каких-то других былокодеров на место существующих. И, что характерно, с какими-нибудь дельфями, жабой, WPF или Qt и прилагающимися языками они вполне справляются с задачей.

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

    И нет, в продакшне излишняя гибкость на фиг не нужна обычно. Нужно "от сих до сих" (правда, дя каждой области - пределы разные), а что за пределами - чтобы сделать было нельзя или чтобы валилось с ошибкой, крайне желательно - на этапе статического анализа. А хотпатчинг (я сам на эрланге маленько писал, если что) - он на самом деле мало где актуален. Обычно либо у тебя хилая системка из одной машины и ты её для патча спокойно выведешь из эксплуатации на некоторое время, либо у тебя балансировка и много хостов, тогда тем более по одному апдейтить не проблема ни разу. Это если веб, конечно - но сейчас кругом веб, да и для других сервисов оно актуально.

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

     
     
  • 8.176, arisu (ok), 17:59, 17/11/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    8230 что ты не интересуешься смолтолком ещё раз тебе говорю спроси у эрланго... большой текст свёрнут, показать
     
  • 7.175, Crazy Alex (ok), 17:51, 17/11/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Тьфу, блин. Ттак перечисленное тобой - это сами смаллтолки плюс веб-тулзы. Неудивительно, что я их не знаю. И что? Покажи хоть что-то большое/успешное, что на нем написано. И сравни даже с тем же трупом перла, на котором будет эдак на три порядка больше абсолютно живых систем - и то трупом он от этого быть не перестаёт.
     
     
  • 8.177, arisu (ok), 18:01, 17/11/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    так, с ходу 8212 сайт GSOC2010, например по сайтам seaside и aida походи, та... текст свёрнут, показать
     
  • 6.178, Филипп Филиппович (ok), 20:51, 17/11/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Вот-вот, если для умеренно качественного решения типовой задачи, не требующей семи пядей во лбу, нужен разработчик высшего класса, это и есть "нетехнологично". То есть язык не подходит.
     
     
  • 7.179, arisu (ok), 21:18, 17/11/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    нужен разработчик, который умеет пользоваться вилкой и ложку несёт не в ухо, а в рот. но для тебя — я понимаю — это «семь пядей во лбу».
     

  • 1.159, paralox (?), 14:50, 16/11/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Плагины с поддержкой Dart также подготовлены для...

    Список лучших IDE есть, спасибо Google!
    Осталось малость, выбрать лучшего из лучших...))

     
  • 1.180, rihad (?), 13:17, 24/11/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    До языка Fart уже недалеко.
     
  • 1.181, Аноним (-), 13:55, 26/11/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    нaписaл уже 10К строк, очень неплохо.
    в сaмом деле похож нa яву но тольно снaружи, внутри используются динaмические
    в отличие от явы типы.
    javascript удобен когдa пишешь тысченку строк, a потом все стaновиться
    слишком зaпутaнным.
     
  • 1.182, Кирилл (??), 22:00, 15/03/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Радует отличная документация языка Dart. Для начинающих отличный туториал. Информацию на русском тоже найти достаточно просто http://cultofdigits.com/dart-language/
     

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



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

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