URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 99840
[ Назад ]

Исходное сообщение
"Google развивает AtScript, вариант JavaScript с аннотациями ..."

Отправлено opennews , 05-Ноя-14 14:26 
Miško Hevery, один из основателей JavaScript-фреймворка AngularJS, ныне работающий в Google, представил (http://www.theregister.co.uk/2014/11/04/improving_javascript.../) проект  AtScript (http://atscript.org/), в рамках которого развивается расширенный вариант языка JavaScript, поддерживающий определение информации о типах через добавление аннотаций, что позволяет существенно увеличить эффективность работы JIT-компилятора и оптимизатора.


AtScript обеспечивает совместимость с кодом существующих проектов и JavaScript-движков за счёт использования допустимого в спецификации ECMAScript 4  синтаксиса ":", например,  вместо "methodA(name)" можно указать "methodA(name:string):int", а также элементов, развиваемых в стандарте ECMAScript 6. Кроме аннотаций типов в AtScript реализована поддержка аннотаций полей и аннотаций метаданных. Аннотации полей позволяют явно определить используемые в классе поля перед их использованием. Для определения полей также применяется выражение ":", например "class Point { x:int; y:int; }".


Аннотации метаданных дают возможность использовать методы декларативного программирования и привязать к коду дополнительную информацию, например, указать необходимые фреймворкам сведения для подстановки зависимостей.  Для определения метаданных предлагается использовать символ '@', например, "@Component({selector: 'foo'})". Также в AtScript предусмотрены механизмы интроспекции для определения типа объекта во время выполнения программы и доступа к данным о типах. Таким образом, AtScript можно рассматривать как ECMAScript 6, расширенный поддержкой типов, аннотаций и интроспекции.


В отличие от  развиваемого компанией Miсrosoft языка TypeScript (https://www.opennet.ru/opennews/art.shtml?num=39488), в AtScript добавлена поддержка интроспекции и аннотаций метаданных, при этом AtScript совместим с TypeScript, так как использует туже схему указания типов через выражение ":", и может смешиваться с кодом на TypeScript. Похожие методы также применяются в языке Dart (https://www.opennet.ru/opennews/art.shtml?num=40849). при этом TypeScript и Dart требуют предварительной компиляции кода в JavaScript-представление. AtScript пытается избавиться от данной фазы и остаться максимально приближенным к JavaScript. Такой подход напоминает Asm.js (http://asmjs.org/) от Mozilla, но предлагаемая в  Asm.js система определения типов в специальных комментариях не слишком удобна при разработке вручную и  больше предназначена для автоматической компиляции в JavaScript.


В настоящее время AtScript находится в стадии формирования экспериментального прототипа. На GitHub размещена (https://github.com/vojtajina/atscript-playground) подборка тестовых сценариев, использующих для трансляции AtScript. Кроме того, Google открыл код  JavaScript компилятора Traceur (https://github.com/google/traceur-compiler), позволяющий транслировать в обычный JavaScript некоторые экспериментальные возможности, развиваемые как JavaScript.next (https://github.com/google/traceur-compiler/wiki/LanguageFeat...). В том числе для Traceur подготовлены настройки,  обеспечивающие преобразование AtScript в код ECMAScript 5, который может выполняться в обычном браузере (AtScript завязан на поддержке классов и модулей, которые появятся в будущем стандарте ECMAScript 6). Для загрузки модулей AtScript предлагается использовать фреймворк RequireJS. Первым крупным проектом, использующим AtScript станет web-фреймворк Angular, выпуск 2.0 которого планируется полностью переписать на AtScript.


URL: http://www.theregister.co.uk/2014/11/04/improving_javascript.../
Новость: https://www.opennet.ru/opennews/art.shtml?num=41006


Содержание

Сообщения в этом обсуждении
"Google развивает AtScript, вариант JavaScript с аннотациями ..."
Отправлено Аноним , 05-Ноя-14 14:27 
NIH синдром + мания велосипедостроения

"Google развивает AtScript, вариант JavaScript с аннотациями ..."
Отправлено Аноним , 05-Ноя-14 15:19 
Нет. В отличие от нечитаемого asm.js используется нормальный человеческий синтаксис. Угадай, какой в итоге взлетит.

"Google развивает AtScript, вариант JavaScript с аннотациями ..."
Отправлено А , 05-Ноя-14 15:59 
Тот у которого больше.

"Google развивает AtScript, вариант JavaScript с аннотациями ..."
Отправлено inferrna , 05-Ноя-14 16:46 
asm.js вообще немного не то. Это на 90% asm и лишь 10% js - там даже управление памятью ручное (если писать вручную). А типизация для обычного js не помешала бы, да.

"Google развивает AtScript, вариант JavaScript с аннотациями ..."
Отправлено cmp , 06-Ноя-14 00:09 
Это очень мягкое определение asm, любители костылей из мозилы родили очередной шедевр, еще более мутным было бы только бинарное представление данных.

"Google развивает AtScript, вариант JavaScript с аннотациями ..."
Отправлено Аноним , 06-Ноя-14 05:49 
> еще более мутным было бы только бинарное представление данных.

Так оно для машины, машинам все-равно. А парсить и выполнять так быстрее. И места меньше занимает. Потому что у байта 256 возможных значений и если обуть себя на часть возможных значений - появится неэффективность.


"Google развивает AtScript, вариант JavaScript с аннотациями ..."
Отправлено cmp , 07-Ноя-14 00:43 
Так для машин полным полно протоколов передачи данных, и http НЕ один из них, так нафига спрашивается перемешивать, если для машин так и делайте для машин изначально бинарным, а все эти доделки и допилы - бессмысленые усложнения и снижение эффективности на ровном месте

"Google развивает AtScript, вариант JavaScript с аннотациями ..."
Отправлено Аноним , 07-Ноя-14 02:59 
> делайте для машин изначально бинарным, а все эти доделки и допилы
> - бессмысленые усложнения и снижение эффективности на ровном месте

А теперь посмотрим на HTTP/2 aka SPDY. Где ваш бог теперь? :)


"Google развивает AtScript, вариант JavaScript с аннотациями ..."
Отправлено cmp , 07-Ноя-14 13:25 
Где ваш spdy? где ipv6, где tcpmp?

web - это сильно, и сочетание html+js+css+http проживет еще очень долго, но технология уже сложилась, ломать совместимость ради копеечной экономии никто не станет.

А вот придумать новое поколение вэба с ssl, p2p, jquery из каробки гуглу слабо


"Google развивает AtScript, вариант JavaScript с..."
Отправлено arisu , 07-Ноя-14 13:42 
> Где ваш spdy? где ipv6

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


"Google развивает AtScript, вариант JavaScript с..."
Отправлено cmp , 08-Ноя-14 17:27 
Наверняка, но не в этом измерении, запаса прочности ip4 и http хватит еще на долго, а там глядишь чего получше придумают.

"Google развивает AtScript, вариант JavaScript с..."
Отправлено arisu , 08-Ноя-14 17:31 
> Наверняка, но не в этом измерении, запаса прочности ip4 и http хватит
> еще на долго, а там глядишь чего получше придумают.

здравствуй, испытатель криокамер! добро пожаловать в XXI-й век!


"Google развивает AtScript, вариант JavaScript с..."
Отправлено cmp , 10-Ноя-14 00:35 
ой, да ладно, ну-ка раскажите нам о повсемесно используемой технологии которой меньше 10 лет.

"Google развивает AtScript, вариант JavaScript с..."
Отправлено arisu , 10-Ноя-14 01:06 
какое это имеет отношение к теме?

"Google развивает AtScript, вариант JavaScript с..."
Отправлено cmp , 10-Ноя-14 07:02 
Да очень простое, вы изобретаете палку, и все ею пользуются чтобы мамонтов гонять, да кокосы сбивать с пальм, но тут приходит некий умник и придумывает привязать к палке булыжник, мамотов гонять чутка получше, а вот кокосы с пальм сбивать уже не то.

"Google развивает AtScript, вариант JavaScript с..."
Отправлено cmp , 10-Ноя-14 11:01 
Не всем же быть таким маргинальным быдлом как вы.

"Google развивает AtScript, вариант JavaScript с..."
Отправлено arisu , 10-Ноя-14 11:08 
> Не всем же быть таким маргинальным быдлом как вы.

ты прав. нам, быдлу, недоступна чарующая сила упарывающей химии.

p.s. а всё-таки интересно, что надо употреблять, чтобы рядом обитали мамонты, булыжники и кокосовые пальмы.


"Google развивает AtScript, вариант JavaScript с..."
Отправлено cmp , 11-Ноя-14 00:13 
https://ru.wikipedia.org/wiki/Аллегория

Книжки читать надо, логическое мышление развивать.

Хотя идиоту и книжки не помогут, а мудрец станет мудрее даже если будет пять лет сидеть и смотреть камень.


"Google развивает AtScript, вариант JavaScript с..."
Отправлено arisu , 11-Ноя-14 00:20 
смотри в камень, пожалуйста. дОвление твоей мудрости почти невыносимо.

"Google развивает AtScript, вариант JavaScript с аннотациями ..."
Отправлено Аноним , 06-Ноя-14 05:47 
> В отличие от нечитаемого asm.js используется нормальный человеческий синтаксис.

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

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

> Угадай, какой в итоге взлетит.

См. комикс номер 927 на XKCD :)


"Google развивает AtScript, вариант JavaScript с аннотациями ..."
Отправлено Аноним , 16-Ноя-14 11:49 
> ну вон LLVM привинтить к браузеру и нефиг уже этим онaнизмом заниматься.

+1 В chromium уже давно PNaCl встроен. Работает быстрее любого asm.js плюс поддерживает нормальную многопоточность и SIMD. Один недостаток -- первый запуск занимает больше времени чем на asm.js, поскольку программа компилируется целиком. Но результат компиляции кешируется, поэтому второй и последующие запуски мгновенные.


"Google развивает AtScript, вариант JavaScript с аннотациями ..."
Отправлено Аноним , 05-Ноя-14 14:29 
не понятно поведение Гугла:

если они ведут развитие Яваскрипта, то их попытки продвинуть Дарт проваляться, т.к. уже люди спрашивают:

"...не оставит ли Гугл Дарт, если он не наберет критической массы пользователей и фреймворков на нем...??!"

я уже не вижу резона переходить на Дарт, когда слышно о таких проектах как этот, от Мозиллы асм, и т.п.


"Google развивает AtScript, вариант JavaScript с аннотациями ..."
Отправлено manster , 05-Ноя-14 15:47 
Невольно возникает вопрос - как же дарт. Поматросили и бросили?

Нежели у гугла такие неограниченные ресурсы?


"Google развивает AtScript, вариант JavaScript с..."
Отправлено arisu , 05-Ноя-14 15:50 
> Невольно возникает вопрос - как же дарт. Поматросили и бросили?
> Нежели у гугла такие неограниченные ресурсы?

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


"Google развивает AtScript, вариант JavaScript с..."
Отправлено MPEG LA , 05-Ноя-14 16:36 
да неважно кто его делает, важно что вместо запилить пару этих фич в tsc, сырцы которого на гитхабе, вместе с сотней FR об этих фичах - мы не можем, зато изобрести еще одну полуненужность, наступив на все грабли ts по дороге - запросто.

"Google развивает AtScript, вариант JavaScript с..."
Отправлено arisu , 05-Ноя-14 16:37 
тебе мсоподелие интересно? иди и запиливай.

"Google развивает AtScript, вариант JavaScript с..."
Отправлено MPEG LA , 05-Ноя-14 16:50 
> тебе мсоподелие интересно? иди и запиливай.

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


"Google развивает AtScript, вариант JavaScript с..."
Отправлено arisu , 05-Ноя-14 16:55 
> типа мс большее зло чем гугл?

где тут гугл, а?

> компилер под APL - почему не
> контрибютить, учитывая что сообщество вокруг ts уже собралось и ждет этих
> фич?

вот поэтому, навреное, и не хотят. потому что «сообщество собралось и ждёт.»

> в итоге будет очередная поделка-дубликат.

и что? человек забыл у тебя спросить, чем ему заниматься? это бывает.


"Google развивает AtScript, вариант JavaScript с..."
Отправлено MPEG LA , 05-Ноя-14 17:07 
>где тут гугл, а?

а где тут ms?

>вот поэтому, навреное, и не хотят. потому что «сообщество собралось и ждёт.»

предлагаете всем заниматься написанием языков если что-то не устраивает?

>и что? человек забыл у тебя спросить, чем ему заниматься? это бывает.

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


"Google развивает AtScript, вариант JavaScript с..."
Отправлено Аноним , 06-Ноя-14 09:29 
Гугловый компилятор, traceur, был доступен на google code задолго до первого релиза typescript. Просто его не рекламировали.

"Google развивает AtScript, вариант JavaScript с..."
Отправлено Аноним , 06-Ноя-14 01:00 
traceur был раньше ts, туда недавно добавили типы - остальное уже было. просто дали имя atscript тому диалекту es6/7, который фактически уже реализован

"Google развивает AtScript, вариант JavaScript с..."
Отправлено Аноним , 05-Ноя-14 18:55 
Dart - аналогичная полулюбительская поделка, только развиваемая не одним, а несколькими гуглерами. Кстати, очевидными джавистами.

"Google развивает AtScript, вариант JavaScript с..."
Отправлено Аноним , 05-Ноя-14 22:40 
Это есть хорошо или плохо?
к чему клоним? что у Гугла нет стратегии в данном направлении?

"Google развивает AtScript, вариант JavaScript с аннотациями ..."
Отправлено Бутират , 05-Ноя-14 15:06 
Если оно реально будет компеляться через traceur, то может и выстрелит и angular 2.0 вы

"Google развивает AtScript, вариант JavaScript с аннотациями ..."
Отправлено Бутират , 05-Ноя-14 15:09 
.. выйдет в приемлимые сроки, не успев состариться еще до выхода.

Однако, лучше бы они с Typescript скооперировались. У TS куча приятных плюшек и серьезый архитектор языков во главе. Всю функциональность TS ангуляровцам и за 2 года не запилить


"Google развивает AtScript, вариант JavaScript с аннотациями ..."
Отправлено Аноним , 05-Ноя-14 15:28 
>>  У TS куча приятных плюшек и серьезый архитектор языков во главе

Это MS то? Такое и даром не надо.


"Google развивает AtScript, вариант JavaScript с аннотациями ..."
Отправлено ПолковникВасечкин , 06-Ноя-14 17:51 
у тебя есть альтернативы?

"Google развивает AtScript, вариант JavaScript с аннотациями ..."
Отправлено Аноним , 07-Ноя-14 03:57 
> у тебя есть альтернативы?

Для начала MS в вебе никто и звать никак. Технология которая пропихивается только одним MS - не имеет никакого будущего. Особенно в вебе.


"Google развивает AtScript, вариант JavaScript с аннотациями ..."
Отправлено manster , 05-Ноя-14 16:17 
аннотации это конечно хорошо, не попахивает мегакостылями

"Google развивает AtScript, вариант JavaScript с аннотациями ..."
Отправлено Crazy Alex , 05-Ноя-14 18:59 
Мегакостылями оно в принципе попахивает из-за наследственных болезней JS. Увы - Дарт, как выяснилось, не лучше.

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


"Google развивает AtScript, вариант JavaScript с аннотациями ..."
Отправлено Аноним , 05-Ноя-14 21:28 
> Дарт, как выяснилось, не лучше.

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


"Google развивает AtScript, вариант JavaScript с аннотациями ..."
Отправлено Crazy Alex , 07-Ноя-14 19:15 
Тут же на опеннете в пределах месяца меня просветили насчет той же кривизны оператора "+", например, что и в JS. Для меня - этого достаточно, ибо дикость.

"Google развивает AtScript, вариант JavaScript с аннотациями ..."
Отправлено Crazy Alex , 07-Ноя-14 19:20 
Вот: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi?quote...

"Google развивает AtScript, вариант JavaScript с аннотациями ..."
Отправлено manster , 07-Ноя-14 17:39 
> Мегакостылями оно в принципе попахивает из-за наследственных болезней JS. Увы - Дарт,
> как выяснилось, не лучше.
> Но что до именно этих аннотаций - то от аннотаций там одно
> название. Вполне приличная типизация - нормальный синтаксис, заход на умение работать
> с ними в самом браузере, а трансляция - как переходной этап...

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

strict mode, jshint/jslint в общем решают проблему хрупкости и капризности языка, ну и ликбез по DOM-ready


"Google развивает AtScript, вариант JavaScript с..."
Отправлено arisu , 07-Ноя-14 17:44 
js неимоверно уродлив. даже бидон лучше, чем это недоразумение. «живуч» он оказался только потому, что у него тупо не было альтернативы. и пока её не было, люди успели понаписать на js кучу говнокода, и теперь уже от js никуда не денешься.

"Google развивает AtScript, вариант JavaScript с аннотациями ..."
Отправлено Crazy Alex , 07-Ноя-14 19:29 
Хм, ну, уже за меня ответили насчет "живуч".

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


"Google развивает AtScript, вариант JavaScript с..."
Отправлено arisu , 07-Ноя-14 19:48 
но — справедливости ради — Брэндан тогда не предполагал, что на ЭТОМ станут писать полноценный софт нехилых размеров. и что баги и недочёты ЭТОГО превратятся в стандарт, которому все должны следовать, ёлы-палы.

"Google развивает AtScript, вариант JavaScript с..."
Отправлено Crazy Alex , 07-Ноя-14 22:52 
Разумеется.

"Google развивает AtScript, вариант JavaScript с..."
Отправлено arisu , 07-Ноя-14 19:51 
при всём этом на планете существуют идиоты, которые добровольно выбирают ту же ноду.жс для реализации немаленьких проектов. я положительно не в состоянии представить, что происходит внутри черепа у этих существ.

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


"Google развивает AtScript, вариант JavaScript с..."
Отправлено Crazy Alex , 07-Ноя-14 22:52 
Ну, тут палка о двух концах. Когда на обеих сторонах один язык - это таки удешевляет и упрощает разработку, и, учитывая, что альтернативы (что там реально распространено? PHP, Python, иногда Ruby) не так далеко ушли, то почему бы и нет? По крайней мере, тогда придётся бороться с одним набором заскоков, а не с двумя.

"Google развивает AtScript, вариант JavaScript с..."
Отправлено arisu , 08-Ноя-14 10:17 
> (что там реально распространено? PHP, Python, иногда Ruby) не так далеко
> ушли

ну, похапэ да, а бидон и руби таки лучше. чёрт, там хотя бы модули есть, одно это уже epic win.

> тогда придётся бороться с одним набором заскоков, а не с двумя.

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

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


"Google развивает AtScript, вариант JavaScript с аннотациями ..."
Отправлено Аноним , 05-Ноя-14 22:03 
Да запарили вы уже своими "улучшенными" JS и Java.

"Google развивает AtScript, вариант JavaScript с аннотациями ..."
Отправлено Led , 06-Ноя-14 00:16 
> Да запарили вы уже своими "улучшенными" JS и Java.

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


"Google развивает AtScript, вариант JavaScript с аннотациями ..."
Отправлено Mirraz , 06-Ноя-14 10:07 
Сначала придумываем себе проблем с динамически типизированными языками, а потом героически их решаем.

"Google развивает AtScript, вариант JavaScript с аннотациями ..."
Отправлено xPhoenix , 06-Ноя-14 10:50 
Каждые полгода Google придумывает новый язык, который заменит JavaScript. Каждые, мать его, полгода... Вы вдумайтесь, какие масштабы!

"Google развивает AtScript, вариант JavaScript с аннотациями ..."
Отправлено ПолковникВасечкин , 06-Ноя-14 17:53 
> Каждые полгода Google придумывает новый язык, который заменит JavaScript. Каждые, мать
> его, полгода... Вы вдумайтесь, какие масштабы!

Департаменту инноваций как-то нужно оправдывать свое существование


"Google развивает AtScript, вариант JavaScript с аннотациями ..."
Отправлено Crazy Alex , 07-Ноя-14 19:37 
Гугл так делает уже много лет - вываливает гору инноваций, потом смотрит - что выживет, откуда можно взять отдельные фрагменты, а что хоронить. Стратегия у них такая, пора бы привыкнуть уже.

"Google развивает AtScript, вариант JavaScript с аннотациями ..."
Отправлено Аноним , 06-Ноя-14 11:11 
внезапно, Dart-окапец

"Google развивает AtScript, вариант JavaScript с аннотациями ..."
Отправлено Аноним , 10-Ноя-14 01:30 
Uber FTS!

"Google развивает AtScript, вариант JavaScript с аннотациями ..."
Отправлено Аноним , 10-Ноя-14 02:06 
Смахивает на синдром отмены строгих типов, у тех кто недавно начал писать на JS.

Советую посмотреть вот это http://youtu.be/_kXiH1Yiemw