Комментарии 55
Хорошее названия для аналога яваскрипта, суть почти раскрыта
+8
Интересно было увидеть что же такой за Dart. Будем надеяться, что у этой штуки есть будущее.
0
Ну, то, что показали, смотрится вменяемо: типизация переменных (думаю, она быстро станет правилом хорошего тона), компактный синтаксис, фигурные скобки и точки с запятой на месте, привычные/понятные классы, интерполяция переменных и вызова кода в строках, обмен сообщениями… Кстати, так и тянет на многозадачность в стиле эрланга.
+5
Или же его закопают рядом с GWT
0
НЛО прилетело и опубликовало эту надпись здесь
Фигасе новости. О_о
+6
Ну я подумал что немного утрирования тут не помешает :) Тем ни менее GWT с похожим и поначалу многообещающем подходом трансляции кода в JavaScript мейнстримом так и не стал. Посмотрим как сложатся дела у дарта.
Интересно что dart преполагают повышенную по сравнению с JavaScript производительность, хотя пока не очень то понятно откуда она возьмется (типизация?). Разрабочикам V8 может конечно и видней, подождем тестов каких-нибудь.
Интересно что dart преполагают повышенную по сравнению с JavaScript производительность, хотя пока не очень то понятно откуда она возьмется (типизация?). Разрабочикам V8 может конечно и видней, подождем тестов каких-нибудь.
+1
А мужики-то не знают!
+2
ждём jquery на dart
+13
В примерах увидел такое:
Значит ли это, что Dart не имеет собственных методов работы с DOM и в веб-приложениях для доступа к сущностям нужно использовать JS? А как у него обстоят дела с Ajax'ами и прочими плюшками, необходимыми для веб-программирования? Есть ли Dart-фреймворки вроде jQuery?
main() {
Element element = document.getElementById('message');
element.innerHTML = 'Hello from Dart';
}
Значит ли это, что Dart не имеет собственных методов работы с DOM и в веб-приложениях для доступа к сущностям нужно использовать JS? А как у него обстоят дела с Ajax'ами и прочими плюшками, необходимыми для веб-программирования? Есть ли Dart-фреймворки вроде jQuery?
-8
>> Значит ли это, что Dart не имеет собственных методов работы с DOM и в веб-приложениях для доступа к сущностям нужно использовать JS?
С каких пор конструкция
>> Element element =…
является частью яваскрипт?
И к вашему сведению, доступ к дом дереву или ajax-функциям являются частью языка только как набор библиотек, доступный в рамках среды исполнения языка(в данном случае браузер)
Что мешает для нового языка реализовать соответствующие библиотеки на уровне среды исполнения языка?
С каких пор конструкция
>> Element element =…
является частью яваскрипт?
И к вашему сведению, доступ к дом дереву или ajax-функциям являются частью языка только как набор библиотек, доступный в рамках среды исполнения языка(в данном случае браузер)
Что мешает для нового языка реализовать соответствующие библиотеки на уровне среды исполнения языка?
+4
Я не о конструкции вида «Element element =…», а о «document.getElementById('message');»
-5
document.getElementById — это не конструкция языка. Это объект и метод DOM, который предоставляется браузером и который и сейчас может использоваться разными языками (в IE это javascript и vbscript, например).
+11
Простите мою не осведомленность и неопытность… но Вы как хотите чтобы было?
0
Думается мне, что это такой же глобальный объект document, созданный на Dart. Просто для совместимости с JS кодом оставили существующие имена методов. И это разумно, на мой взгляд.
0
Вот именно это я, в общем-то, и спрашивал: чем в данном случае является document и кем он создан. Пока это выглядит как присвоение результатов вызова методов JS-объектов в переменные Dart и последующее обращение к JS-объектам (это я исключительно про приведённый в комментарии пример).
Что касается совместимости, то она, имхо, лишняя.
Если язык использует свои конструкции и и типы, пусть бы и синтаксис отделили. Во-первых, это избавило бы от вопросов вроде моего (всё сразу было бы очевидно), во-вторых, в том же jQuery не зря ввели огромное количество полезных методов, поскольку в чистом виде JS бывает монструозен, а новый язык мог бы решить и эту проблему.
Что касается совместимости, то она, имхо, лишняя.
Если язык использует свои конструкции и и типы, пусть бы и синтаксис отделили. Во-первых, это избавило бы от вопросов вроде моего (всё сразу было бы очевидно), во-вторых, в том же jQuery не зря ввели огромное количество полезных методов, поскольку в чистом виде JS бывает монструозен, а новый язык мог бы решить и эту проблему.
-4
Интересно, что за виртуальная машина на стороне сервера, как замена nodejs? Своей машины в браузерах нет, все работает через трансяцию в JS? Хм, непонятно, сразу закапывать или немного помучать…
-4
Хорошо, что не Darth, а то я бы уверился в то, что Google на тёмной стороне. По существу корпорации очень-очень надо постараться, чтобы хоть куда-нибудь сдвинуть JavaScript.
0
Не удержался.


+30
Javascript имеет один фатальный недостаток :)
+3
На Lion с xcode 4 из коробки dart vm и прочее собираться не хочет. Требует 10.5 sdk.
Если кто пробует — в tools/build.py добавьте после 108 строчки:
тогда получится
Если кто пробует — в tools/build.py добавьте после 108 строчки:
'-sdk',
'macosx10.6',
тогда получится
+3
Презентовали — молодцы. Но с учетом того, что JS занимает 99% рынка, Google придется сильно постараться
По сути, без нормальной поддержки языка браузером и включения языка в стандарт HTML (), перехода не случится.
По сути, без нормальной поддержки языка браузером и включения языка в стандарт HTML (), перехода не случится.
0
Мегаоптимизация прям. Из трех строчек — 30 килобайт.
cat hello.dart:
dartc hello.dart --optimize --out hello.js
Выдаст почти 30 килобайт javascript кода:
gist.github.com/1275479
cat hello.dart:
main() {
print('Hello, Dart!');
}
dartc hello.dart --optimize --out hello.js
Выдаст почти 30 килобайт javascript кода:
gist.github.com/1275479
+4
Это же постоянные расходы.
Т.е. и на 50 килобайт вашего кода он выдаст 80 килобайт Javascript (50+30).
Разумеется, этот пример ненормален.
А вот основной выигрыш в удобстве разработки и поддержки.
Т.е. и на 50 килобайт вашего кода он выдаст 80 килобайт Javascript (50+30).
Разумеется, этот пример ненормален.
А вот основной выигрыш в удобстве разработки и поддержки.
+4
Судя по коду он генерирует сразу всю core library(читайте весь dart в 30 кб). Это ведь не компиляция, а трансляция(!) об этом и написано. Не думаю что там очень сильный анализатор кода, да и нафиг он нужен в трансляторе. В языка ведь даже версии нет еще. И тем более это не значит что 6 строчек будет 60 кб.
+3
Накой оно надо7 Еще одно скриптовое чудо. Лучше бы Go развивали вот уж действительно быстро и для нагруженных проектов.
+1
Я думаю, дело в том, что предназначение отличается. Go не предназначался (и не предназначается) в качестве замены JavaScript, а, скорее, просто как ещё один серверный язык с хорошей поддержкой многопоточности. А Dart — это язык, который призван лишь дополнить JS теми возможностями (в том числе и возможностями для оптимизации), которых там изначально нет, и которые не могут быть легко добавлены в сам JS. Вряд ли кто-нибудь будет предлагать вам писать на Dart на сервере, хотя, возможно, такие люди найдутся)
+2
Dart как раз предлагается как язык и для сервера, и для клиента. И главная его плюшка как раз в том, что он и там и там будет работать, а это многое упрощает в веб-разработке.
0
Да, в спецификации (и во многих других местах) действительно делается на это акцент… Но, всё же, у Dart и Go сильно отличаются модели работы, причём у Go (для сервера) мне она нравится намного больше, чем сильно-однопоточный Dart
0
судя по синтаксису, Google уже ничего кроме java создать не может.
0
Javascript, страдающего от «фундаментальных» изъянов, которые невозможно исправить путём эволюционного развития.
Маркетинг такой маркетинг. Нечего там исправлять, и ООП там нормальное, и всё что хочешь. Зачем из всего делать Java?
+1
Первый и второй вывод (Производительность и Удобство разработки) противоречат друг другу:
— не будут иметь тех проблем с производительностью
— не требующая компиляции природа
— не будут иметь тех проблем с производительностью
— не требующая компиляции природа
-1
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.
Официальная презентация языка Google Dart