Comments 67
Ссылка на видео почему-то вырезается из поста: www.youtube.com/watch?feature=player_embedded&v=5KlnlCq2M5Q
+2
TypeScript на первый взгляд ничем не хуже, но Microsoft, который разрабатывает этот язык, очень любит играть в одни ворота, что не добавляет ему плюсов.
Открытый и доступный код, Apache 2 license, компилятор для node.js… казалось бы, при чем тут Microsoft?
Количество сторонних библиотек для Dart в несоизмеримо меньшем числе чем для JS, но язык и инструменты прилагающиеся к нему настолько хороши, что за новыми проектами не заржавеет.
Дада, а отклоненный вами TypeScript просто умеет использовать существующие JS-библиотеки (через простенький адаптер, который можно написать и самому).
Так у кого печеньки?
+11
Открытый и доступный код, Apache 2 license, компилятор для node.js… казалось бы, при чем тут Microsoft?
Dart опубликован под BSD лицензией, я не нахожу эту лицензию существенно хуже чем Apache 2. Компилятор под Node.js это хорошо, но как это поможет с клиентской частью приложения?
Дада, а отклоненный вами TypeScript просто умеет использовать существующие JS-библиотеки
Здесь вы можете взять библиотеку для Dart которая поможет взаимодействовать с JS библиотеками.
Выбор Dart или TypeScript это исключительно дело вкуса. Мне понравился Dart, но это не значит что TypeScript хуже, я даже не считаю что JS хуже, просто на мой взгляд Dart немного удобнее.
+4
как это поможет с клиентской частью приложения?
Компилируйте в js, и будет вам счастье.
Мне понравился Dart, но это не значит что TypeScript хуже, я даже не считаю что JS хуже, просто на мой взгляд Dart немного удобнее.
Тем не менее вы какие-то очень уж странные критерии выбора озвучиваете.
+2
Для вас странные критерии выбора, для меня нет. Для меня главным критерием выбора была следующая запись:
int a = 0;
вместо
var a:int =0;
Я программирую большую часть времени на AS3, но второй вариант записи мне нравится меньше. Еще раз повторюсь, данный выбор — дело вкуса, кому-то ничего ближе JS нет и для него что Dart, что TypeScript это не более чем баловство.
int a = 0;
вместо
var a:int =0;
Я программирую большую часть времени на AS3, но второй вариант записи мне нравится меньше. Еще раз повторюсь, данный выбор — дело вкуса, кому-то ничего ближе JS нет и для него что Dart, что TypeScript это не более чем баловство.
+2
А озвучили вы критерии «Microsoft, который разрабатывает этот язык, очень любит играть в одни ворота» и «пошаговая отладка кода, это сокровище для начинающих программистов» (в том числе).
+4
Разве я соврал? Хотя бы DirectX, нигде кроме продуктов Microsoft он не работает.
А пошаговая отладка кода, которая запускается прямо из IDE на мой взгляд это очень удобно.
А пошаговая отладка кода, которая запускается прямо из IDE на мой взгляд это очень удобно.
+1
Вы наверное пропустили то, что это немного разные вещи. TypeScript по сути синтаксический сахар для js, и все его прелести заканчиваются после «компиляции» в js. Для Dart'а же компиляция в js это временное средство. Это если в общем, а если углубится в детали, то они вообще не похожи, ни по целям, пи ро текущей реализации.
+1
Нет ничего более постоянного, чем временно :)
0
Dart в контексте JS не имеет ни малейшего смысла. Для этого есть CoffeScript и TypeScript. Dart VM отличная вещь, с очень высокой производительностью, если ее не включать в браузеры, то языку прямая дорога на сервера взамен v8 и на андроиды в дополнение к Джаве, ну или на свалку истории :)
+2
А с какого перепугу его будут включать куда-то кроме хрома?
+2
Ну не обязательно гугловскую реализацию, производители браузеров могут свою написать. Более того, если я не ошибаюсь, то Dart VM лицензируется под BSD, так что проблем никаких ни у кого нету. Это вопрос того, выстрелит или нет сам язык.
0
Dart двигается только гуглом, зачем он нужен другим вендорам? Зачем к примеру включать VM Дарта Мозиле? ЧТо бы Firefox еще больше оперативки стал жрать?
А почему бы тогда сразу VM Java не включить в браузер?
А почему бы тогда сразу VM Java не включить в браузер?
+1
Я в курсе. Теперь расскажите это автору поста, который их ставит на одну полку.
+1
Так и не понял в чем прелесть и красота в сравнении с JS. Даже банально вот такая вещь:
в JS выглядела бы намного няшней:
gl = (canvas.getContext("webgl")!=null)?canvas.getContext("webgl") :
canvas.getContext("experimental-webgl");
в JS выглядела бы намного няшней:
gl = canvas.getContext("webgl") || canvas.getContext("experimental-webgl");
+1
Здесь красоты не будет, она будет когда реальную игру будут писать, в функции main будет только браться канвас и отдаваться в класс Game. На этом работа с HTML будет окончена. А внутри класса игры уже будет логика всякая, классы, методы…
Только вот от OpenGL никуда не денешься. Он нечитабелен в любом языке. Поэтому следует подождать пока напишут какой-нибудь игровой движок на дарте.
Только вот от OpenGL никуда не денешься. Он нечитабелен в любом языке. Поэтому следует подождать пока напишут какой-нибудь игровой движок на дарте.
-2
Все тоже самое можно сделать и JS, так что опять таки не понимаю подобного аргумента. Говорю не голословно, знаю людей, которые работают над JS проектами в 10к+ строк и особо проблем никаких не испытывают. Сам нахожусь в их числе.
0
Вы проблем не испытываете потому, что уже привыкли писать на JS, попробуйте написать крупный проект на C# и поймёте в чем разница. Или попробуйте разобраться в чужом коде крупного проекта. Типизация делает своё дело, она не творит волшебство, но ускоряет разработку и отладку.
0
3 года работал и над крупным проектом на C#, последние полгода переключился на JS. Хорошие IDE вполне адекватно умеют всю навигацию по JS-коду и без интроспекции (которая и позволяет в шарпе так хорошо работать автокомплиту и навигации). В конце-концов, люди десятилетиями писали и продолжают писать на тех же C/C++, где с навигацией по коду все те же проблемы что и в JS (в силу отсутствия метаданных) и все живы здоровы. Что касается статического анализа — тут в JS вам опять таки помогут, например, JSLint + юнит-тестирования. От семантических же ошибок не спасет и полноценный компилятор. Ну а то, что кто-то не в силах приспособиться к инструменту, принять его слабые стороны, уметь их невелировать и брать на вооружение сильные, говорит лишь о профессиональной компетенции этой личности. Такие дела.
+2
Вы проблем не испытываете потому, что уже привыкли писать на JS, попробуйте написать крупный проект на C# и поймёте в чем разница.
А вы проблемы испытываете потому что привыкли писать на C#. Я пишу в команде крупную игру на JS+AtomJS+LibCanvas и не испытываю сложностей из-за отсутствия типизации. TypeScript — это вообще костыль редкостный. Всё-равно что в Мерседес рыгач переключения передач с розочкой ставить
+3
Что бы ваше заявление не было голословным приведите аргументы почему «TypeScript — это вообще костыль редкостный»
+1
А потому что единственное, что он меняет — это «классы», которые в JS и так есть и типизацию, которая в JS и так есть, пусть и другая. В нём смысла как в розочке — «ценителям» кажется красивее. Только сложнее поддерживается, меньше специалистов и люди, которые серьёзно заняты JSом считают это баловством.
+3
«и люди, которые серьёзно заняты JSом считают это баловством» — еще одно голословное утверждение. Ради интереса почитайте это.
Мне кажется вы не совсем верно воспринимаете назначение TypeScript. По большей части это действительно просто синтаксический сахар. Но с другйо стороны хорошее прототипирование, и использование этого синтаксического сахара, позволит отловить много ошибок на этапе компиляции в JS.
Плюс, вам никто не мешает писать чистый JS в TypeScript.
Не совсем понятно, почему вы считаете что TypeScript сложнее поддерживается.
Мне кажется вы не совсем верно воспринимаете назначение TypeScript. По большей части это действительно просто синтаксический сахар. Но с другйо стороны хорошее прототипирование, и использование этого синтаксического сахара, позволит отловить много ошибок на этапе компиляции в JS.
Плюс, вам никто не мешает писать чистый JS в TypeScript.
Не совсем понятно, почему вы считаете что TypeScript сложнее поддерживается.
0
Не совсем понятно, почему вы считаете что TypeScript сложнее поддерживается.
Потому что это лишний ненужный уровень абстракции.
+2
Почему не нужный? Если вы не понимаете какие плюсы может дать статическая типизация и интерфейсы, то это еще не значит что это ненужный уровень абстракции. Пойдите джавистам расскажите, что у них пол языка это ненужный уровень абстракции.
+1
Эти самые джависты перейдя на JavaScript написали 100500 реализаций классов на JavaScript-е, потому что им прототипы не угодили.
Вот для них то Дарт с TypeScript-ом и сделали.
Вот для них то Дарт с TypeScript-ом и сделали.
0
Не хватает пруфлинка про 100500 классов: habrahabr.ru/post/132698/#comment_4404597
0
А пошаговая отладка кода, это сокровище для начинающих программистов.
Только сейчас заметил. А что, в JS нет пошаговой отладки кода?
0
Есть. Отладчик в ie очень выручал, когда неожиданно наступал на очередные аккуратно расставленные Microsoft грабли.
0
Вот и мне казалось, что есть. Настолько казалось, что я ей пользуюсь с завидной регулярностью.
0
Я немного неточно выразился. В Dart есть пошаговая отладка кода прямо из IDE, для этого не надо запускать сторонних инструментов.
0
В JS тоже есть.
0
Например в 2012 студии: JavaScript Debugging Enhancements
+1
UFO just landed and posted this here
WebStorm просить деньги за себя, хотя цена копеечная, но халява в виде Dart Editor греет душу. WebStorm в целом сильно сглаживает недостатки JS.
-4
WebStrom — инструмент для работы. Странно, зарабатывая при его помощи деньги не заплатить разработчикам за прекрасную IDE. Для opensource-проектов он вообще бесплатен.
Я за всю жизнь купил две программы — Касперского (я параноик) и PHPStorm. :)
Я за всю жизнь купил две программы — Касперского (я параноик) и PHPStorm. :)
+3
Полностью с вами согласен, WebStorm стоит гораздо больше чем за него просят.
-2
В том что Вы сидите на пиратской ОС, особо гордиться не чем.
-3
Винду я всегда хотел купить, только никак денег не хватало. Абсурдная ситация, куча людей плюется от винды, однако используют взломанную версию и ни на что другое не уходят.
Я, кстати, не ставил активатор. Честно терплю напоминания о необходимости покупки.
Я, кстати, не ставил активатор. Честно терплю напоминания о необходимости покупки.
+2
Hint: у JetBrain-овских IDE часто есть Early Access Program и Community Edition-ы.
0
Advanced Web Debugging (Page Inspector) А так? =)
0
Во всех вебкитах встроенный пошаговый отладчик.
+1
«К тому же Google разрабатывает VirtualMachine для Dart, что в перспективе может дать значительное преимущество в производительности этого языка.»
Эээ, когда это Гугл славился разработкой виртуальных машин и компиляторов? Это как раз вотчина MS.
Эээ, когда это Гугл славился разработкой виртуальных машин и компиляторов? Это как раз вотчина MS.
0
V8, Go
+5
Ну, если жить в 2009-ом, то да. Но тогда MS этим и не занимался особо, в то время как для Гугла это было приоритетное направление.
А сегодня все далеко не так однозначно:
www.zdnet.com/the-big-browser-benchmark-all-the-latest-browsers-tested_p2-7000007401/
Что ещё есть кроме V8?
А сегодня все далеко не так однозначно:
www.zdnet.com/the-big-browser-benchmark-all-the-latest-browsers-tested_p2-7000007401/
Что ещё есть кроме V8?
0
Где у Гоу виртуальная машина? Это компилируемый в бинарник язык.
-2
Ну… взять хотя бы v8.
+2
Если я верно понял, то TypeScript это исключительно надстройка над JS, т.е. TypeScript будет работать с той же скоростью что JS или медленнее. Dart в свою очередь может заработать однажды быстрее. Сейчас же что TypeScript, что Dart это всего-лишь удобочитаемый код на этапе разработки.
+1
TypeScript имеет смысл сравнивать с Java/GWT, хотя GWT это все таки несколько более широкий инструмент, за счет интеграции с серверной частью, в этом плане он будет похож на js + Node.js.
0
>TypeScript будет работать с той же скоростью что JS или медленнее
А вот тут вы не совсем правы. TypeScript генерирует код который легче оптимизировать(к примеру массивы из элементов одного типа, локальные переменные которые не меняют свой тип, более предсказуемые бренчи исполнения) и соответственно TypeScript код будет быстрее «обычного» JS т.к. играет по правилам оптимизатора который компилирует JS.
А вот тут вы не совсем правы. TypeScript генерирует код который легче оптимизировать(к примеру массивы из элементов одного типа, локальные переменные которые не меняют свой тип, более предсказуемые бренчи исполнения) и соответственно TypeScript код будет быстрее «обычного» JS т.к. играет по правилам оптимизатора который компилирует JS.
-1
Так. А зачем же тогда гугловский Native Client нужен, если будет Dart? Развивали бы лучше его.
0
Слава богу для веба сделали еще один язык с немного другим синтаксисом.
Теперь-то будем, наконец, делать хорошие веб-приложения!
Теперь-то будем, наконец, делать хорошие веб-приложения!
+1
> напоминает жизнь Энакена Скайуокера
ЭнакИн вообще-то :)
> Печеньки на стороне Dart и вскоре он станет властелином всего интернета.
Вам кажется. Ну, собственно, выше уже сказали.
> status.innerHtml = 'Добро пожаловать в мир Dart.'
Вообще-то innerHTML.
ЭнакИн вообще-то :)
> Печеньки на стороне Dart и вскоре он станет властелином всего интернета.
Вам кажется. Ну, собственно, выше уже сказали.
> status.innerHtml = 'Добро пожаловать в мир Dart.'
Вообще-то innerHTML.
+2
Sign up to leave a comment.
Dart + WebGL так ли вкусны печеньки на тёмной стороне