Javascript-форум (https://javascript.ru/forum/)
-   Оффтопик (https://javascript.ru/forum/offtopic/)
-   -   Язык dart, ваше мнение. (https://javascript.ru/forum/offtopic/22585-yazyk-dart-vashe-mnenie.html)

DjDiablo 25.10.2011 20:34

Язык dart, ваше мнение.
 
Кто не в курсе google продвигает свою альтернативу javaScript.
http://www.dartlang.org/

Что вы вообще думаете об этом проекте ?
Лично мне идея очень нравится, включая компиляцию в javaScript код (актуально в первые годы особенно).
И тут есть классы ))

monolithed 25.10.2011 21:41

Цитата:

Сообщение от DjDiablo
Что вы вообще думаете об этом проекте ?

Они изобрели урезанный ActionScript
Цитата:

Сообщение от DjDiablo
Лично мне идея очень нравится, включая компиляцию в javaScript код (актуально в первые годы особенно).
И тут есть классы ))

В CoffeeScript тоже есть классы и компиляция в JS чем не устраивает?
Да и вообще зачем вам классы?

Классы появятся в ES7:
<script src="http://traceur-compiler.googlecode.com/svn/branches/v0.10/src/traceur.js" type="text/javascript"></script>
<script src="http://traceur-compiler.googlecode.com/svn/branches/v0.10/src/bootstrap.js" type="text/javascript"></script>

<script type="text/traceur">
class Foo {
    new(message) {
        this.message = message;
    }
    method() {
        let element = document.querySelector('body');
        element.innerHTML = this.message;
    }
};

let foo = new Foo('Hello, world!');
foo.method();  
</script>

float 25.10.2011 21:50

Цитата:

Да и вообще зачем вам классы?
когда, значит, в js какую-нибудь ерунду прикручивают это пригодится,
а в дарте зачем те это надо? да? :D

а серьёзно не цепляет дарт...

Kolyaj 25.10.2011 23:12

Цитата:

Сообщение от DjDiablo
включая компиляцию в javaScript код (актуально в первые годы особенно).

В первые годы чего? И чем актуально?

trikadin 26.10.2011 00:10

Цитата:

Сообщение от Kolyaj
В первые годы чего? И чем актуально?

В первые годы завоевания дартом вейдером просторов веба, очевидно.

Gozar 26.10.2011 00:21

Не люблю я слово print :-E , мне оно и в perl не нравилось и смысл у него какой-то двоякий.
А так, мне до фонаря, что там за ещё один язык, в моей жизни может до него и не дойдет очередь.

DjDiablo 26.10.2011 17:30

Актуально до появления поддержки dart всеми браузерами. Если эта поддержка вообще появится конечно.

Цитата:

Да и вообще зачем вам классы?
Ну да действительно, зачем ?
Я 14 лет до этого работал с классами, в C++ а затем в C# и php . А теперь я познал прототипы. Вот радость-то :lol:

Жаль что глупые создатели фреймворков
MooTools (к примеру метод Class() ),
extJs(своя система классов extend, superClass и тд),
javaScriptMVC (метод class ,extend),
prototype(Class.create(), extend),
dojo(св-во constructor, dojo.declare),
JqueryUI и тот даже имеет свою систему наследования
ну и тд.

дак вот они моей радости чего-то не разделяют. Отчего-то они программно добавляют новые инструменты наследования. Немогу в толк взять, раз всё так зашибись, чего тогда они все так извращаются. Может от того что большинство программеров всё таки к классам а не к прототипам привыкла.

Извиняюсь за резкость, но прототипное наследование в javaScript, у меня кровавый понос на физическом уровне вызывает. Я не сторонник прототипного программирования, но я почему-то обречён использовать чуждый мне стиль ООП. Обидно что у меня нет выбора. В идеале хотелось бы видеть паралельное использование этих двух подходов, а может даже некого симбиоза.

Что касается позиции гугла, расхлябанность javaScript недаёт возможности повышать производительность интерпритаторов, тобишь разработчики V8 упёрлись местами в потолок, и чтобы обойти это, было принято решение о создании более строгого языка. Собственно проект dart появился, как вариант решения всех этих проблем с быстродействием.

P.S. Если в ES 7 всё будет как у monolithed в примере, я буду конечно счастлив :)

B@rmaley.e><e 26.10.2011 19:32

Цитата:

Сообщение от DjDiablo
P.S. Если в ES 7 всё будет как у monolithed в примере, я буду конечно счастлив

Счастливы по какому случаю? Синтаксического сахара не хватает?
Цитата:

Сообщение от DjDiablo
Это офигенно не практично оказалось. Кое-где, прототипы это круто, но заменять ими классы, весьма и весьма не удобно.

Например?

DjDiablo 26.10.2011 20:18

Что касается меня, тут почти всё в основном обьясняется привычкой. Хорошо что javaScrpt и dart идут привычкам на встречу ))
Сахара хочу, и хочу много сахара. Я люблю сахар, он делает код яснее, бережет нервы, и время.
На будущее всё таки надо своять табличку решений на классах и прототипах и сравнить, для объективной оценки.

В дарте и без классов много фишек, именованные конструкторы к примеру.

FINoM 26.10.2011 23:45

Для меня вот загадкой являются эти строки из википедии: "Dart позиционируется в качестве замены/альтернативы JavaScript, страдающего от «фундаментальных» изъянов, которые невозможно исправить путём эволюционного развития".

Я не понимаю, почему "невозможно". Исходя из статей, описывающих Dart, мы получаем тот же самый Ecmascript.next, может быть с некоторыми незначительными различиями.
Если новые версии ES получат развитие, то нафига этот Dart нужен?

Gozar 26.10.2011 23:49

Пиар Ё!
:)

x-yuri 27.10.2011 01:15

Цитата:

Сообщение от DjDiablo
Что касается меня, тут почти всё в основном обьясняется привычкой.

хорошо, что ты это осознаешь

Цитата:

Сообщение от DjDiablo
Сахара хочу, и хочу много сахара. Я люблю сахар, он делает код яснее, бережет нервы, и время.

если тебе так нужен сахар... значит тебе он нужен ради сахара, ты уже забыл что ты делаешь

Цитата:

Сообщение от DjDiablo
Извиняюсь за резкость, но прототипное наследование в javaScript, у меня кровавый понос на физическом уровне вызывает. Я не сторонник прототипного программирования, но я почему-то обречён использовать чуждый мне стиль ООП.

ты обречен долго ныть на форумах о том, почему javascript не такой как c++/c#, а потом вернуться к ним, любимым

Цитата:

Сообщение от DjDiablo
Обидно что у меня нет выбора.

он есть, просто ты его не видишь. А в классическом ООП выбора нету, да

Цитата:

Сообщение от DjDiablo
На будущее всё таки надо своять табличку решений на классах и прототипах и сравнить, для объективной оценки.

для объективной оценки, ты должен сначала увидеть преимущества прототипного программирования и потом... что именно ты сравнивать собрался?

Цитата:

Сообщение от FINoM
Я не понимаю, почему "невозможно".

возможно им статической типизации и производительности не хватает... http://javascript.ru/forum/131878-post36.html

FINoM 27.10.2011 01:44

Цитата:

Сообщение от x-yuri
статической типизации и производительности не хватает

Если я правильно понял в Дарте типизация гибридная, что не мешает так же сделать и в JS «не ломая текущий веб».
А по поводу производительности, простите чайника, но тот же Node.js достаточно быстр.

А Google — говнюки. Нет, чтоб развивать новую спецификацию Ecma и подталкивать других разработчиков на её развитие, дак они создали свой костыль, который нахер никому не уперся, особенно Микрософту. Мне очень жаль, что столько сил потрачено на, вероятно, бессмысленную разработку.

Цитата:

Сообщение от Gozar
Пиар Ё!

Пардон, а какая от Дарта Гуглу выгода? ES — открыт, популярен, развивается не только самим Гуглом.

Magneto 27.10.2011 02:10

Цитата:

Сообщение от FINoM (Сообщение 132968)
но тот же Node.js достаточно быстр

Нода быстра не потому что там используется JavaScript, а потому что там используется асиинхронная, событийно ориентированная модель. Все тяжелые операции выполняются асинхронно, и их выполняют модули написанные на C++. Хочу заметить что в Ноде все выполняется асинхронно кроме Вашего кода.

Цитата:

Сообщение от FINoM (Сообщение 132968)
А Google — говнюки. Нет, чтоб развивать новую спецификацию Ecma и подталкивать других разработчиков на её развитие, дак они создали свой костыль,

А Google и развивает JavaScript, у компании есть проект Harmony который направлен на исправление недостатков Javascript.

Цитата:

Сообщение от FINoM (Сообщение 132968)
который нахер никому не уперся, особенно Микрософту

Тут да, есть проблемма. Я думаю мы все четко понимаем что если Dart взлетит то IE будет последним браузером который внедрит нативную поддержку языка (Dart). Ситуация еще более усугубилась когда Майкрософт обьявила JavaScript (HTML, CSS) одним из основных языков (если не ошибаюсь их 5, C#, C++, VB ...) для разработки десктоп приложений в Виндовс 8.

FINoM 27.10.2011 02:29

Цитата:

Сообщение от Magneto
Нода быстра не потому что там используется JavaScript

Я думал, что она быстра из-за V8, помнится мне сравнивали циклы и побную синхронную хрень с php. Нода выигрывала. Опять же, я не силен в этом вопросе. Все мои знания заканчиваются пиаром Ноды, как очень быстрого инструмента для серверов.
Цитата:

Сообщение от Magneto
А Google и развивает JavaScript, у компании есть проект Harmony который направлен на исправление недостатков Javascript.

Молодцы конечно, но, блин, у них даже нет реализации пресловутого let, что уж говорить об (удобных) -> синтаксических_няшках и классах. Сравнительно активно развивается только ES, который существует только на бумаге, на внесение серьезных, полезных и интересных изменений в Javascript всем немножечко пофиг.

FINoM 27.10.2011 02:32

Цитата:

Сообщение от Magneto
для разработки десктоп приложений в Виндовс 8

То-то же. Dart — игрушка для гиков. В реальных проектах он может использоваться только на сервере, и даже в этом случае вопрос "зачем" остаётся.

x-yuri 27.10.2011 04:43

Цитата:

Сообщение от FINoM
Если я правильно понял в Дарте типизация гибридная, что не мешает так же сделать и в JS «не ломая текущий веб».

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

Цитата:

Сообщение от FINoM
Пардон, а какая от Дарта Гуглу выгода? ES — открыт, популярен, развивается не только самим Гуглом.

Цитата:

Сообщение от trikadin
В первые годы завоевания дартом вейдером просторов веба, очевидно.

как вариант... :)

Octane 27.10.2011 07:50

Я согласен с мыслью, высказанной где-то на хабре, что это просто завоевание рынка, они хотят свой С#

Gozar 27.10.2011 09:35

Я так предполагаю первым ну очень быстрым приложением на Dart будет какая-нибудь игрушка, а затем клич - "теперь вам не нужны плагины, чтобы играть в свои любимые игры в своём \"любимом\" браузере". Далее все вытекающие ...

DjDiablo 27.10.2011 13:01

Цитата:

Я думал, что она быстра из-за V8,
Не надо забывать что DART логически вытекает из V8.

насчёт скорости, я думаю притензии к непредсказуемому количеству св-в.
var test={};

for (var i=0;i<1000;i++){
   test["x"+i]="sad"
}
//когда будет исполнятся эта строка интерпритатору придётся проверить есть ли свой-ство x999
// Компилятор не будет знать и подавно. Ему придётся вставить  вызов попрограмки, для проверки существования св-ва и возврата значения.
alert (test.x999);


В классах это количество вполне предсказуемо

class d{
      public int a=1;
      public int b=2;
}
d test=new d();
alert(test.a);


В случае с классами, компилятор, может указать напрямую в исполняемом коде адрес памяти в которой хранится значение. Алгоритм присваивания значения, компилятор может создать прямо здесь же.

В случае с javaScript мы не знаем сущуствует ли свойство вообще. Поэтому сначало должны выяснить 1) есть ли оно вообще, 2) что оно из себя представляет, 3) и только потом где его взять. Соответственно в коде придётся хранить индекс в таблице св-в, работать с таблицей, а затем для установки значений некоторых св-в вызывать подпрограммы.
Это сотни лишних тактов процессора.

Предположим у вас в цикле 10 св-в обьекта, цикл исполняется 1000 раз.
100 тактов обслуживания *10 переменных*1000циклов=1 000 000 -лишних тактов.


Это написано на глазок, думаю в реале всё намного лохмаче.
Что касается динамических обьектов вообще, в том же C++ или Delphi, статическими массивы быстрее динамических раза в 3.

vflash 27.10.2011 13:33

Цитата:

Сообщение от DjDiablo
Это сотни лишних тактов процессора.

нато компьютер и нужен чтобы вычислять.

обращение по словарю не самый быстрый способ, но зато в js любой объект можно запросто расширить новыми свойствами. Это здорово упрощает работу с объектами и делает язык более доступным.
Хороший пример HTML vs XHTML . HTML вышел победителем потому что он проще для "непосвященных".

DjDiablo 27.10.2011 14:18

Для непосвящённых говориш.
Серверную сторону многие пишут на php, .net языках, java и многих других языках в которых есть классы.

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


А насчёт применения, вот какие мысли появились

Возьмём какую нибудь компанию которая хочет сделать какойнибудь corelDraw онлайн.
Что они выберут очень гибкий javaScript, или более строгие и быстрые java/dart/silverlite. + ещё флеш есть.
Флэш кстатии медленне чем V8 работает с данными, но быстрее с графикой.
при этом java, silverlite, и тот-же флеш - требует дополнительного ПО, плагинов и тд.
Единственными уже встроенными в браузер остаются dart и javaScript.
у js не всё хорошо со скоростью, и есть сложности с кросс браузерностью.
вот и выбирай.

помоему для Dart рынок довольно чёткий выресовывается это Rich Internet application на базе HTML5.
Если java, flash и silverlite свои собственные ui используют, то dart будет юзать html 5.

Для сопелок,перделок и прочих слайдеров, javaScript даже в текущей спецификации, ещё долго останется вне конкуренции :D
А вот что победит на серьёзном рынке, строгий язык или модификаци javaScript, поживём увидим конечно.

Gozar 27.10.2011 18:29

Цитата:

Сообщение от DjDiablo (Сообщение 133053)
А вот что победит на серьёзном рынке, строгий язык или модификаци javaScript, поживём увидим конечно.

Что такое серьёзный рынок? Там где все серьёзные?

Ты уверен, что ты правильно понимаешь что такое рынок и что нужно миллионам леммингов?!

В линуксе нет вирусов, всё бесплатно и стабильность работы системы винде даже не снилась, имхо. Почему линукс до сих пор не победил, как ты выразился. Может быть некого побеждать?!

Сто лет пройдет, надеюсь образно, пока умрет ie7,8,9 и 10 а в них нет поддержки Dart.

float 27.10.2011 19:05

Через 10 лет будет 2 браузера:
Хром и симбиоз FF+IE
которые ни за что не примут конкурентную технологию.
Ну может ещё Опера... Она поддержит дарт, тк ей по другому выплыть никак.

итого 2вс1. а поскольку у гугла все соц сервисы, выбор для юзера очевиден.
в общем учим дружно дарт.:dance:

:)

Gozar 27.10.2011 20:16

Цитата:

Сообщение от DjDiablo (Сообщение 133053)
Возьмём какую нибудь компанию которая хочет сделать какойнибудь corelDraw онлайн.

Давай возьмем такую компанию, как она называется, что это за компания? Назови её название.

Примеры основанные на фантазиях и личных предпочтениях не засчитываются.

Цитата:

Сообщение от float (Сообщение 133115)
выбор для юзера очевиден.

ой ли?!
Зачем юзеры ставят мобильную оперу на андроид устройства, что им не хватает в установленном уже браузере, более высокого качества чем опера?

PHP появился после Python и почти на ровне с Ruby, по вашей же логике PHP должен был загнуться, почему этого не произошло?

DjDiablo 27.10.2011 20:46

Цитата:

Что такое серьёзный рынок? Там где все серьёзные?
Я нефига не понимаю в хомяках полёвках.

Серьёзно, это когда какой нибудь корпорацией снимается офис, нанимается сотня специалистов. И дружно пишется какой нибудь, онлайн exel с бюджетом в пол ляма баксов.

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

Заметь и 1е и 2е потребители клиентского языка, но для меня разница, очевидна.


Цитата:

Давай возьмем такую компанию, как она называется, что это за компания? Назови её название.
Чего не защитывается то, сервисы самого гугла возьми gmail/docs.google их потвоему на jquery писали что-ли.
Откуда по твоему всевозможные JWT берутся, если на javaScript писать крупные проекты это большое счастье.
А потому что жопа писать, когда ты даже модуль приинклудить нармально не можешь. А что такое неймспейсы, вообще некто не знает. Всё это приходится через задницу смекалку реализовывать.

Gozar 27.10.2011 21:53

Цитата:

Сообщение от DjDiablo (Сообщение 133142)
Серьёзно, это когда какой нибудь корпорацией снимается офис, нанимается сотня специалистов. И дружно пишется какой нибудь, онлайн exel с бюджетом в пол ляма баксов.

Цитата:

Сообщение от Gozar (Сообщение 133138)
Цитата:

Сообщение от DjDiablo (Сообщение 133053)
Возьмём какую нибудь компанию которая хочет сделать какойнибудь corelDraw онлайн.

Давай возьмем такую компанию, как она называется, что это за компания? Назови её название.

Давай возьмем такую компанию, как она называется, что это за компания? Назови её название.

Я не хочу чтобы ты писал свои фантазии, я хочу от тебя добиться фактов, на которые можно опираться, а не - ты сказал, я тебя уважаю, поэтому поверю на слово.

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

DjDiablo 27.10.2011 23:16

И я тебя уважаю, выходит мы с тобой уважаемые люди :)

Ну ты что сомневаешся что есть крупные компании что-ли :)

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

к примеру.

http://www.teampostgresql.com/product.jsp

Увы ни эти не другие не публикуют бюджет и количество сотрудников, но вряд ли он был один, и вряд ли у него зарплата меньше 5000 баксов в сша. даже если их всего пятеро, и работали они пол года, только на них ушло 5000$(минимум зпСША)*5 спецов*6 месяцев = 120 000$ только на спецов. А их вряд ли пятеро + дизайнеры + менеджеры + расходы на офисное помещение,маркетинговые исследования и тд это всё деньги вложенные в проект.

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

Gozar 28.10.2011 00:12

Цитата:

Сообщение от DjDiablo (Сообщение 133174)
Ну ты что сомневаешся что есть крупные компании что-ли :)

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

Те ссылки что ты приводишь не подтверждают, к сожалению, твои слова. У меня есть подобный сайт, один из которых ты привел, даже проще и у него есть определенная задача, которую он выполняет. И да, там убогий дизайн, вернее его там нет, и да - он на народе.

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

Gozar 28.10.2011 11:57

По поводу говносайтов, посмотри на вот это: Сайт программера написавшего Гульмана
Nemo, по сравнению с этим крутой программер :)

Magneto 28.10.2011 14:17

А кто такой Nemo?

Gozar 28.10.2011 15:02

nemo, другие личины: nemoon и т.д. в поиск по форуму по запросу: nemo

Magneto 28.10.2011 15:08

А, этот парень у меня в асе есть, участвует в конкурсе от Вконтакте (они там выигравшему предлагают работу у себя) так он вроде уже чемоданы собрал )). Очень часто задает непонятные вопросы.

DjDiablo 28.10.2011 15:43

Цитата:

Сообщение от Gozar (Сообщение 133245)
По поводу говносайтов, посмотри на вот это: Сайт программера написавшего Гульмана
Nemo, по сравнению с этим крутой программер :)

Надо сказать какая игра такой и сайт :) Нафига ж ты мне ссылку то дал, я до слёз смеялся.
Особенно обзор медиссона :) Nemo тоже хорош.

trikadin 28.10.2011 16:24

Цитата:

Сообщение от DjDiablo
у js не всё хорошо со скоростью, и есть сложности с кросс браузерностью.

Улыбнуло) А у дарта нету сложностей с кроссбраузерностью. Нет кроссбраузерности - нет сложностей.


Ну а сайт... Блин. У меня нет слов.

Magneto 28.10.2011 16:37

Если интересно про Гульмена то можно сходить на lurkmore.ru/Гульмэн, там внизу есть ссылки по которым можно проследить всю историю развития проэкта и неадекватности автора. Так же ссылки на профиль в Вконтакте и видео на ЮТьюбе. Очень смешно это все.

B~Vladi 28.10.2011 18:01

Цитата:

Сообщение от trikadin
А у дарта нету сложностей с кроссбраузерностью. Нет кроссбраузерности - нет сложностей.

Это не заслуга языка.
Пока реализация одна - нет "кроссбраузерности", но что-то мне подсказывает, что Opera или MS попытаются сделать свои подделки, они же это так любят :)

trikadin 28.10.2011 20:10

Ага, а потом гугл будет писать либы dart_to_msdart...

Magneto 28.10.2011 20:19

Цитата:

Сообщение от B~Vladi
Пока реализация одна - нет "кроссбраузерности", но что-то мне подсказывает, что Opera или MS попытаются сделать свои подделки, они же это так любят

В этом предложении меня интересует компания Opera. О каких таких подделках этой компании идет речь?

trikadin 28.10.2011 20:31

Хм... О глюках?

Наверное, имеется в виду, что всё будет, как всегда: ms накосячит, opera скопирует=(


Часовой пояс GMT +3, время: 16:08.