Компания Google опубликовала (http://news.dartlang.org/2014/01/dart-11-features-up-to-25-f...) новый выпуск языка программирования Dart 1.1 (http://www.dartlang.org), который позиционируется как язык структурированного программирования для Web, который в долгосрочной перспективе может стать прогрессивной заменой JavaScript. По сравнению с представленным (http://www.opennet.me/opennews/art.shtml?num=38432) два месяца назад выпуском Dart 1.0, версия 1.1 примечательна улучшением возможностей для создания серверных приложений и проведением работы по оптимизации производительности при полном сохранении совместимости.
В частности, отмечается, что код на языке Dart, преобразованный в JavaScript-представление при помощи обновлённого компилятора dart2js, выполняется в браузерах на базе движка V8 на 25% быстрее в тесте Richards, и в два раза быстрее в тесте FluidMotion, чем при использовании dart2js из состава прошлого выпуска. Таким образом производительность скомпилированного в JavaScript кода вплотную приблизилась к производительности кода, изначально написанного на JavaScript. Производительность выполнения кода на языке Dart в виртуальной машине Dart VM изменилась незначительно и как раньше опережает JavaScript примерно на 20%.<center><a href="https://lh4.googleusercontent.com/x8M3iXe0w38GFot8UN96tDodmH... src="http://www.opennet.me/opennews/pics_base/0_1389945714.png" style="border-style: solid; border-color: #e9ead6; border-width: 15px;" title="" border=0></a></center>
В новом выпуске также улучшены возможности языка в направлении поддержки разработки серверных приложений. В том числе, добавлена поддержка работы с большими файлами, функции для копирования файлов, возможность организации обработки сигналов и кодов завершения процесса. Обеспечена возможность использования протокола UDP, что, например, позволяет создавать на Dart решения для потоковой отдачи контента.
В IDE Dart Editor (http://www.dartlang.org/docs/editor/) добавлены новые средства для увеличения эффективности разработки, улучшены средства автодополнения кода, расширены возможности отладчика, добавлены более информативные контекстные подсказки. Увеличена общая производительность Dart Editor и статического анализатора кода dart_analyzer (https://www.dartlang.org/docs/dart-up-and-running/contents/c...). Внесены исправления в другие компоненты SDK, в том числе в dart2js (http://www.dartlang.org/docs/dart2js/) (компилятор в JavaScript), виртуальную машину Dart VM (http://www.dartlang.org/docs/standalone-dart-vm/), пакетный менеджер pub (http://pub.dartlang.org/), набор библиотек и плагины с поддержкой Dart для IntelliJ IDEA, WebStorm (https://www.dartlang.org/tools/webstorm/), Eclipse (https://www.dartlang.org/tools/eclipse-plugin/), Emacs (https://github.com/nex3/dart-mode), Sublime Text 2 (https://github.com/dart-lang/dart-sublime-bundle#readme) и Vim (https://github.com/dart-lang/dart-vim-plugin). В репозиторий pub добавлено около 150 новых пакетов, общее число доступных пакетов составляет 660.
Напомним, что язык Dart обладает похожим на Java синтаксисом, не требует явного определения типов и может использоваться для создания серверных и клиентских приложений. Для запуска внутри браузера код на языке Dart может быть преобразован в JavaScript-представление или запущен напрямую под управлением специального JavaScript-интерпретатора Dartboard. Поддерживается (http://www.dartlang.org/articles/embedding-in-html/) встраивание кода на языке Dart в HTML-страницы, используя mime-тип "application/dart". На стороне сервера приложение на языке Dart может быть выполнено внутри специальной виртуальной машины, которая обеспечивает производительность выполнения близкую к компилируемым в машинный код языкам. Виртуальную машину Dart планируется интегрировать в будущие версии браузера Chrome, что позволит выполнять приложения на языке Dart без компиляции в JavaScript.Особенности языка Dart:
- Привычный и простой для изучения синтаксис, естественный для программистов на JavaScript, Си и Java.
- Обеспечение быстрого запуска и высокой производительности для всех современных web-браузеров и различных типов окружений, от портативных устройств до мощных серверов;
- Возможность определения классов и интерфейсов, позволяющих использовать инкапсуляцию и повторно использовать существующие методы и данные;
- Необязательное указание типов, использовать или нет статические типы решает разработчик. Указание типов позволяет упростить отладку и выявление ошибок, делает код более ясным и читаемым, упрощает его доработку и анализ сторонними разработчиками.
- Среди поддерживаемых типов: различные виды хэшей, массивов и списков, очереди, числовые и строковые типы, типы для определения даты и времени, регулярные выражения (RegExp). Возможно создание своих (http://www.dartlang.org/articles/optional-types/) типов;
- Для организации параллельного выполнения предлагается использовать классы с атрибутом isolate, код которых выполняется полностью в изолированном пространстве в отдельной области памяти, взаимодействуя с основным процессом через отправку сообщений;
- Поддержка использования библиотек, упрощающих поддержку и отладку больших web-проектов. Сторонние реализации функций могут подключаться в виде разделяемых библиотек. Приложения можно разбить на части и поручить разработку каждой из частей отдельной команде программистов;- Набор готовых инструментов для поддержки разработки на языке Dart, включая реализацию средств динамической разработки и отладки с исправлением кода на лету ("edit-and-continue");
- Возможность создавать однородные системы, охватывающие как клиентскую, так и серверную часть. Использование одного языка и инструментария для клиентских и серверных компонентов упрощает процесс кодирования и избавляет от постоянной смены контекста.URL: http://news.dartlang.org/2014/01/dart-11-features-up-to-25-f...
Новость: http://www.opennet.me/opennews/art.shtml?num=38876
> опережает JavaScript примерно на 20%Судя по графику на 50%
Что у вас за браузер? В IE 700 js, 900 darts, что даёт 1 - 700 / 900 = 0,23 = 23%.
Как ты огадываешься, IE здесь мало кого волнует. Да и в глобальном масштабе вполне восстановилась правильная тенденция к падению его доли рынка :-)
Откуда в IE DartsVM?
И рассчет ваш кривой, т.к. 900 > 700 на 29% .
.
Мне понравился Дарт. Пожалуй запишу его в свой арсенал.
Не взлетело.
Похоже Дарт не работает на Win XP
> Не взлетело.
> Похоже Дарт не работает на Win XPНе могут вместе тёмные две стороны силы жить.
Короче на работе у меня и еще много где дарт тупо не взлетит по причине того, что не поддерживается операционками.
WinXP не нужен никому. Тем виндовсятникам, которые ещё не определились, скакать им дальше верхом на МС анальных зондах или свалить на что-то вменяемое тоже придётся с хрюши свалить.
ХР нужна рашкованским гайцам.
Гайцы не нужны, соответственно их потребности и проблемы никого не волнуют.
Пусть перелезают на спермёрочку, бабла у них навалом.
Бабла навалом, ага. Программист хренов из воздуха деньги делает, а мне приходица взятки брать чтобы доче первой в классе золотой айфон купить!!
> WinXP не нужен никому.Спасибо вам. Я узнал от вас что я никто и знать меня никак.
И еще 20 юзеров у нас на работе они никто и звать их никак.
> WinXP не нужен никому.И что ты предлагаешь взамен?
Особенно, учитывая, что куча принтеров, сканеров, веб-камер и прочего офисного оборудования (не говоря уже о промышленном) фактически не работает в Линуксе - и не надо показывать длинные списки НАПОЛОВИНУ кое-как поддерживаемого оборудования - нужна 100% поддержка без оговорок, а то как с принтерами: что-то печатает, но не совсем то, и не совсем так, и не настроить, короче куча траблов, граблей, головняка и т.п. А нафига эти проблемы? Я понимаю, что Линус с Линуксом здесь как бы не при чём. Но от этого не легче.
Кроме того, если я ставлю Win 7 или новый Linux, так это всё ещё пожирает память.
Может, мне обновить весь парк оборудования, включая все компы, принтеры, сканеры?
А может мне зaкoпать себя (а заодно и тебя, чтобы не давал дуpных советов) вместе с мамoнтами?
Ну пускай это старое оборудование на котором не взлетает ничего новее XP жрёт дальше электричество на выделение тепла.
Если взять более новое оборудование с аналогичной производительностью старому, то жрать электроэнергии оно будет в разы меньше чем старое добро.
Однако даже весьма слабое новое оборудование вполне потянет 7 при условии выключения рюшечек (если винда нужна периферии).
>> WinXP не нужен никому.
> И что ты предлагаешь взамен?
> Особенно, учитывая, что куча принтеров, сканеров, веб-камер и прочего офисного оборудования
> (не говоря уже о промышленном) фактически не работает в Линуксе -
> и не надо показывать длинные списки НАПОЛОВИНУ кое-как поддерживаемого оборудования -
> нужна 100% поддержка без оговорок, а то как с принтерами: что-то
> печатает, но не совсем то, и не совсем так, и не
> настроить, короче куча траблов, граблей, головняка и т.п.Зато сколько это чудо техники проблем создаёт на ровном месте - никто не считает. Там, где с линупсом все задачи и даже больше решала бы коробка с бездисковой загрузкой, там в винде городят огород костылей и подпорок, для безопасности городят второй слой костылей, и потом это добро переустанавливают раз в месяц. Или оно тормозит, как папа Карло после вчерашнего.
ps. Если посчитать стоимость железа в год, и стоимость мальчика, переустанавливающего винды (в год), то совместимое железо дешевле. Намного дешевле.
> Кроме того, если я ставлю Win 7 или новый Linux, так это
> всё ещё пожирает память.
> Может, мне обновить весь парк оборудования, включая все компы, принтеры, сканеры?
> А может мне зaкoпать себя (а заодно и тебя, чтобы не давал
> дуpных советов) вместе с мамoнтами?Конечно, лучше смотреть, как список современного софта, работающий под Linux, уже перегоняет список софта для XP... и всё вздыхать о славных временах... вздохнул, и пошёл виндовс переустанавливать... а пользователи пусть пока покурят... ведь главное, чем должен заниматься компьютер - это настройка, установка, переустановка и антивирусный контроль.... :)
Большинство банковских терминалов работают на XP
Замена JavaScript "примечательна улучшением возможностей для создания серверных приложений"? Ну пипец.
Так тут из раза в раз в каждой новости авторы пишут свои влажные фантазии про замену js. Хотя у дарта ниша лишь отчасти пересекается с жабоскриптом.
Фантазии тут - скорее в плане писания черт знает на чем на серверной стороне.
Дарт вполне себе годный язык для написания ServerSide приложений.
О как! А расскажите нам, на чём нажо писать на серверной стороне. И на чём - никогда не надо?
Только JavaScript! Несомненно!
На чем угодно, что стабильно, имеет достаточный набор библиотек, средств писания кода и поддержания его корректности и для чего есть достаточно информации в сети. Мне кажется, это очевидно.То есть писать для веба на моих любимых плюсах - это довольно странная идея - в этой сфере они применяются мало, хороших библиотек особо нет. А на джаве, груви, питоне, руби - в самый раз. Возможно, года через три-четыре во вменяемые серверные языки попадет что-то новое - хоть бы и скала та же, или Go. Но пока - это больше авантюры. О дико нестабильных языках вроде дарта - вообще речи нет пока.
> И на чём - никогда не надо?На питоне
> О как! А расскажите нам, на чём нажо писать на серверной стороне.
> И на чём - никогда не надо?В отличие от тебя, он не тролль и не претендент на абсолютную истину в последней инстанции. Так что вопрос не по адресу. Лучше ты нам побухти, как космические корабли бороздят просторы Большого театра.
>> О как! А расскажите нам, на чём нажо писать на серверной стороне.
>> И на чём - никогда не надо?
> В отличие от тебя, он не тролль и не претендент на абсолютную
> истину в последней инстанции.Больше лжи! Больше передёргиваний очевидных фактов! Потому что иначе "и не претендент на абсолютную истину в последней инстанции" по мотивам вышесказанного не только я не пойму, а вообще никто не поймёт.
можно ли в нём смешивать Dart и JS? Например использовать библиотеки от JS?
Можно.
Каг?
> Каг?Таг
~25% ну это вообще ниочем, ожидал большего.
по мне даже 2-х кратный прирост было-бы мало.
Хочется обогнать Java, которая быстрее C и Ассемблера?
если бы был прогресс уровня ASM.JS то выглядело бы заманчиво.
Прогресс по производительности будет, когда начнут писать на C/C++ и в нужных местах юзать ASM (без JS)
> Прогресс по производительности будет, когда начнут писать на C/C++ и в нужных
> местах юзать ASM (без JS)Забыл добавить: и думать головой (причём это на первом месте), а то сделали Java, потом JS, радуясь при этом, что вырезали кучу самых полезных плюшек C++, потом поняли, что их поделки не тянут, в результате для Java сделали JIT, по ходу одумавшись и вернув-таки часть плюшек из Си++, запилили ASM.JS, возвращаясь обратно к Си. Как минимум за этим всем забавно наблюдать, пользуя Си, Си++, ASM и получая производительность, которая всем этим Java, JS, etc. даже не снится.
Да, я мамонт! И да, я сижу в берлоге!
> Да, я мамонт! И да, я сижу в берлоге!Лучше б ты за партой сидел (и пофиг как там тебя однокласники называют: кабан или мамонт)
Да ты не иначе как нервный любитель питонов, поэтому иди, покорми лучше своих любимцев, а то сдохнут твои твари - опять перенервничаешь.