The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги | ]

05.11.2014 13:42  Google развивает AtScript, вариант JavaScript с аннотациями типов

Miško Hevery, один из основателей JavaScript-фреймворка AngularJS, ныне работающий в Google, представил проект AtScript, в рамках которого развивается расширенный вариант языка 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, в AtScript добавлена поддержка интроспекции и аннотаций метаданных, при этом AtScript совместим с TypeScript, так как использует ту же схему указания типов через выражение ":", и может смешиваться с кодом на TypeScript. Похожие методы также применяются в языке Dart. При этом TypeScript и Dart требуют предварительной компиляции кода в JavaScript-представление. AtScript пытается избавиться от данной фазы и остаться максимально приближенным к JavaScript. Такой подход напоминает Asm.js от Mozilla, но предлагаемая в Asm.js система определения типов в специальных комментариях не слишком удобна при разработке вручную и больше предназначена для автоматической компиляции в JavaScript.

В настоящее время AtScript находится в стадии формирования экспериментального прототипа. На GitHub размещена подборка тестовых сценариев, которые можно использовать для экспериментов с AtScript. Кроме того, для работы с AtScript можно использовать JavaScript компилятор Traceur, позволяющий транслировать в обычный JavaScript (ECMAScript 5) некоторые экспериментальные возможности ECMAScript 6 (AtScript завязан на поддержке классов и модулей, которые появятся в будущем стандарте ECMAScript 6). В том числе для Traceur подготовлены настройки, обеспечивающие преобразование AtScript в код на языке Dart или код ECMAScript 5, который может выполняться в обычном браузере. Для загрузки модулей AtScript предлагается использовать фреймворк RequireJS. Первым крупным проектом, использующим AtScript станет web-фреймворк Angular, выпуск 2.0 которого планируется полностью переписать на AtScript.

  1. Главная ссылка к новости (http://www.theregister.co.uk/2...)
  2. OpenNews: Выпуск языка программирования Dart 1.7, развиваемого Google для замены JavaScript
  3. OpenNews: Язык Dart утверждён ассоциацией Ecma в качестве международного стандарта
  4. OpenNews: Релиз Firefox 22 с поддержкой Asm.js
  5. OpenNews: Выпуск языка программирования Rust 0.12, развиваемого проектом Mozilla
  6. OpenNews: Увидел свет TypeScript 1.0, продвигаемый Microsoft в качестве альтернативы JavaScript
Лицензия: CC-BY
Тип: Интересно / К сведению
Ключевые слова: javascript, atscript, typescript
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Ajax/Линейный | Раскрыть все сообщения | RSS
 
  • 1.2, Аноним (-), 14:27, 05/11/2014 [ответить] [показать ветку] [···]    [к модератору]
  • +4 +/
    NIH синдром + мания велосипедостроения
     
     
  • 2.13, Аноним (-), 15:19, 05/11/2014 [^] [ответить]    [к модератору]
  • +3 +/
    Нет. В отличие от нечитаемого asm.js используется нормальный человеческий синтаксис. Угадай, какой в итоге взлетит.
     
     
  • 3.18, А (??), 15:59, 05/11/2014 [^] [ответить]    [к модератору]
  • –2 +/
    Тот у которого больше.
     
  • 3.24, inferrna (ok), 16:46, 05/11/2014 [^] [ответить]    [к модератору]
  • +1 +/
    asm.js вообще немного не то. Это на 90% asm и лишь 10% js - там даже управление памятью ручное (если писать вручную). А типизация для обычного js не помешала бы, да.
     
     
  • 4.41, cmp (ok), 00:09, 06/11/2014 [^] [ответить]    [к модератору]
  • +2 +/
    Это очень мягкое определение asm, любители костылей из мозилы родили очередной шедевр, еще более мутным было бы только бинарное представление данных.
     
     
  • 5.45, Аноним (-), 05:49, 06/11/2014 [^] [ответить]     [к модератору]  
  • +2 +/
    Так оно для машины, машинам все-равно А парсить и выполнять так быстрее И мест... весь текст скрыт [показать]
     
     
  • 6.53, cmp (ok), 00:43, 07/11/2014 [^] [ответить]     [к модератору]  
  • +1 +/
    Так для машин полным полно протоколов передачи данных, и http НЕ один из них, та... весь текст скрыт [показать]
     
     
  • 7.54, Аноним (-), 02:59, 07/11/2014 [^] [ответить]     [к модератору]  
  • –1 +/
    А теперь посмотрим на HTTP 2 aka SPDY Где ваш бог теперь ... весь текст скрыт [показать]
     
     
  • 8.56, cmp (??), 13:25, 07/11/2014 [^] [ответить]     [к модератору]  
  • –2 +/
    Где ваш spdy где ipv6, где tcpmp web - это сильно, и сочетание html js css htt... весь текст скрыт [показать]
     
     
  • 9.57, arisu (ok), 13:42, 07/11/2014 [^] [ответить]    [к модератору]  
  • +4 +/
    > Где ваш spdy? где ipv6

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

     
     
  • 10.69, cmp (??), 17:27, 08/11/2014 [^] [ответить]    [к модератору]  
  • –1 +/
    Наверняка, но не в этом измерении, запаса прочности ip4 и http хватит еще на долго, а там глядишь чего получше придумают.
     
     
  • 11.70, arisu (ok), 17:31, 08/11/2014 [^] [ответить]    [к модератору]  
  • +1 +/
    > Наверняка, но не в этом измерении, запаса прочности ip4 и http хватит
    > еще на долго, а там глядишь чего получше придумают.

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

     
     
  • 12.71, cmp (ok), 00:35, 10/11/2014 [^] [ответить]    [к модератору]  
  • –1 +/
    ой, да ладно, ну-ка раскажите нам о повсемесно используемой технологии которой меньше 10 лет.
     
     
  • 13.72, arisu (ok), 01:06, 10/11/2014 [^] [ответить]    [к модератору]  
  • +1 +/
    какое это имеет отношение к теме?
     
     
  • 14.75, cmp (ok), 07:02, 10/11/2014 [^] [ответить]     [к модератору]  
  • –1 +/
    Да очень простое, вы изобретаете палку, и все ею пользуются чтобы мамонтов гонят... весь текст скрыт [показать]
     
     
     
    Часть нити удалена модератором

  • 16.77, cmp (ok), 11:01, 10/11/2014 [ответить]    [к модератору]  
  • –1 +/
    Не всем же быть таким маргинальным быдлом как вы.
     
     
  • 17.78, arisu (ok), 11:08, 10/11/2014 [^] [ответить]     [к модератору]  
  • +1 +/
    ты прав нам, быдлу, недоступна чарующая сила упарывающей химии p s а всё-таки... весь текст скрыт [показать]
     
     
  • 18.79, cmp (ok), 00:13, 11/11/2014 [^] [ответить]     [к модератору]  
  • –1 +/
    https ru wikipedia org wiki Аллегория Книжки читать надо, логическое мышление ... весь текст скрыт [показать]
     
     
  • 19.80, arisu (ok), 00:20, 11/11/2014 [^] [ответить]    [к модератору]  
  • +1 +/
    смотри в камень, пожалуйста. дОвление твоей мудрости почти невыносимо.
     
  • 3.44, Аноним (-), 05:47, 06/11/2014 [^] [ответить]     [к модератору]  
  • +2 +/
    Нормально было бы закончить уже выделываться и если уж хочется нормальных прилож... весь текст скрыт [показать]
     
     
  • 4.81, Аноним (-), 11:49, 16/11/2014 [^] [ответить]     [к модератору]  
  • +/
    1 В chromium уже давно PNaCl встроен Работает быстрее любого asm js плюс подде... весь текст скрыт [показать]
     
     ....нить скрыта, показать (20)

  • 1.3, Аноним (-), 14:29, 05/11/2014 [ответить] [показать ветку] [···]     [к модератору]  
  • +/
    не понятно поведение Гугла если они ведут развитие Яваскрипта, то их попытки пр... весь текст скрыт [показать]
     
     
  • 2.16, manster (ok), 15:47, 05/11/2014 [^] [ответить]    [к модератору]  
  • +2 +/
    Невольно возникает вопрос - как же дарт. Поматросили и бросили?

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

     
     
  • 3.17, arisu (ok), 15:50, 05/11/2014 [^] [ответить]    [к модератору]  
  • +8 +/
    > Невольно возникает вопрос - как же дарт. Поматросили и бросили?
    > Нежели у гугла такие неограниченные ресурсы?

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

     
     
  • 4.22, MPEG LA (ok), 16:36, 05/11/2014 [^] [ответить]     [к модератору]  
  • –3 +/
    да неважно кто его делает, важно что вместо запилить пару этих фич в tsc, сырцы ... весь текст скрыт [показать]
     
     
  • 5.23, arisu (ok), 16:37, 05/11/2014 [^] [ответить]    [к модератору]  
  • +3 +/
    тебе мсоподелие интересно? иди и запиливай.
     
     
  • 6.25, MPEG LA (ok), 16:50, 05/11/2014 [^] [ответить]     [к модератору]  
  • –1 +/
    типа мс большее зло чем гугл компилер под APL - почему не контрибютить, учитыва... весь текст скрыт [показать]
     
     
  • 7.26, arisu (ok), 16:55, 05/11/2014 [^] [ответить]     [к модератору]  
  • +1 +/
    где тут гугл, а вот поэтому, навреное, и не хотят потому что 171 сообщество ... весь текст скрыт [показать]
     
     
  • 8.29, MPEG LA (ok), 17:07, 05/11/2014 [^] [ответить]     [к модератору]  
  • –1 +/
    а где тут ms предлагаете всем заниматься написанием языков если что-то не устра... весь текст скрыт [показать]
     
     
  • 9.47, Аноним (-), 09:29, 06/11/2014 [^] [ответить]    [к модератору]  
  • +/
    Гугловый компилятор, traceur, был доступен на google code задолго до первого релиза typescript. Просто его не рекламировали.
     
  • 5.43, Аноним (-), 01:00, 06/11/2014 [^] [ответить]    [к модератору]  
  • +/
    traceur был раньше ts, туда недавно добавили типы - остальное уже было. просто дали имя atscript тому диалекту es6/7, который фактически уже реализован
     
  • 4.36, Аноним (-), 18:55, 05/11/2014 [^] [ответить]    [к модератору]  
  • +1 +/
    Dart - аналогичная полулюбительская поделка, только развиваемая не одним, а несколькими гуглерами. Кстати, очевидными джавистами.
     
     
  • 5.40, Аноним (-), 22:40, 05/11/2014 [^] [ответить]    [к модератору]  
  • +/
    Это есть хорошо или плохо?
    к чему клоним? что у Гугла нет стратегии в данном направлении?
     
  • 1.9, Бутират (?), 15:06, 05/11/2014 [ответить] [показать ветку] [···]    [к модератору]  
  • –1 +/
    Если оно реально будет компеляться через traceur, то может и выстрелит и angular 2.0 вы
     
     
  • 2.10, Бутират (?), 15:09, 05/11/2014 [^] [ответить]     [к модератору]  
  • +/
    выйдет в приемлимые сроки, не успев состариться еще до выхода Однако, лучше... весь текст скрыт [показать]
     
     
  • 3.14, Аноним (-), 15:28, 05/11/2014 [^] [ответить]    [к модератору]  
  • –1 +/
    >>  У TS куча приятных плюшек и серьезый архитектор языков во главе

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

     
     
  • 4.51, ПолковникВасечкин (?), 17:51, 06/11/2014 [^] [ответить]    [к модератору]  
  • –1 +/
    у тебя есть альтернативы?
     
     
  • 5.55, Аноним (-), 03:57, 07/11/2014 [^] [ответить]    [к модератору]  
  • +2 +/
    > у тебя есть альтернативы?

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

     
  • 1.19, manster (ok), 16:17, 05/11/2014 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    аннотации это конечно хорошо, не попахивает мегакостылями
     
     
  • 2.37, Crazy Alex (ok), 18:59, 05/11/2014 [^] [ответить]     [к модератору]  
  • +/
    Мегакостылями оно в принципе попахивает из-за наследственных болезней JS Увы - ... весь текст скрыт [показать]
     
     
  • 3.38, Аноним (-), 21:28, 05/11/2014 [^] [ответить]    [к модератору]  
  • +1 +/
    > Дарт, как выяснилось, не лучше.

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

     
     
  • 4.60, Crazy Alex (ok), 19:15, 07/11/2014 [^] [ответить]    [к модератору]  
  • +/
    Тут же на опеннете в пределах месяца меня просветили насчет той же кривизны оператора "+", например, что и в JS. Для меня - этого достаточно, ибо дикость.
     
  • 4.61, Crazy Alex (ok), 19:20, 07/11/2014 [^] [ответить]    [к модератору]  
  • +/
    Вот: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi?quote=not_empty&az=pos
     
  • 3.58, manster (ok), 17:39, 07/11/2014 [^] [ответить]     [к модератору]  
  • +/
    js, не смотря на кучу недостатков прекрасен и оказался живуч Направление развит... весь текст скрыт [показать]
     
     
  • 4.59, arisu (ok), 17:44, 07/11/2014 [^] [ответить]     [к модератору]  
  • +1 +/
    js неимоверно уродлив даже бидон лучше, чем это недоразумение 171 живуч 187... весь текст скрыт [показать]
     
  • 4.62, Crazy Alex (ok), 19:29, 07/11/2014 [^] [ответить]     [к модератору]  
  • –1 +/
    Хм, ну, уже за меня ответили насчет живуч А язык, который не принуждает к мо... весь текст скрыт [показать]
     
     
  • 5.64, arisu (ok), 19:48, 07/11/2014 [^] [ответить]     [к модератору]  
  • +1 +/
    но 8212 справедливости ради 8212 Брэндан тогда не предполагал, что на ЭТОМ... весь текст скрыт [показать]
     
     
  • 6.67, Crazy Alex (ok), 22:52, 07/11/2014 [^] [ответить]    [к модератору]  
  • +/
    Разумеется.
     
  • 5.65, arisu (ok), 19:51, 07/11/2014 [^] [ответить]     [к модератору]  
  • +2 +/
    при всём этом на планете существуют идиоты, которые добровольно выбирают ту же н... весь текст скрыт [показать]
     
     
  • 6.66, Crazy Alex (ok), 22:52, 07/11/2014 [^] [ответить]     [к модератору]  
  • +/
    Ну, тут палка о двух концах Когда на обеих сторонах один язык - это таки удешев... весь текст скрыт [показать]
     
     
  • 7.68, arisu (ok), 10:17, 08/11/2014 [^] [ответить]     [к модератору]  
  • +/
    ну, похапэ да, а бидон и руби таки лучше чёрт, там хотя бы модули есть, одно эт... весь текст скрыт [показать]
     
     ....нить скрыта, показать (12)

  • 1.39, Аноним (-), 22:03, 05/11/2014 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Да запарили вы уже своими "улучшенными" JS и Java.
     
     
  • 2.42, Led (ok), 00:16, 06/11/2014 [^] [ответить]    [к модератору]  
  • –1 +/
    > Да запарили вы уже своими "улучшенными" JS и Java.

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

     
  • 1.48, Mirraz (ok), 10:07, 06/11/2014 [ответить] [показать ветку] [···]    [к модератору]  
  • +2 +/
    Сначала придумываем себе проблем с динамически типизированными языками, а потом героически их решаем.
     
  • 1.49, xPhoenix (ok), 10:50, 06/11/2014 [ответить] [показать ветку] [···]    [к модератору]  
  • +1 +/
    Каждые полгода Google придумывает новый язык, который заменит JavaScript. Каждые, мать его, полгода... Вы вдумайтесь, какие масштабы!
     
     
  • 2.52, ПолковникВасечкин (?), 17:53, 06/11/2014 [^] [ответить]     [к модератору]  
  • +/
    Департаменту инноваций как-то нужно оправдывать свое существование... весь текст скрыт [показать]
     
  • 2.63, Crazy Alex (ok), 19:37, 07/11/2014 [^] [ответить]    [к модератору]  
  • +1 +/
    Гугл так делает уже много лет - вываливает гору инноваций, потом смотрит - что выживет, откуда можно взять отдельные фрагменты, а что хоронить. Стратегия у них такая, пора бы привыкнуть уже.
     
  • 1.50, Аноним (-), 11:11, 06/11/2014 [ответить] [показать ветку] [···]    [к модератору]  
  • –2 +/
    внезапно, Dart-окапец
     
  • 1.73, Аноним (-), 01:30, 10/11/2014 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Uber FTS!
     
  • 1.74, Аноним (-), 02:06, 10/11/2014 [ответить] [показать ветку] [···]    [к модератору]  
  • +2 +/
    Смахивает на синдром отмены строгих типов, у тех кто недавно начал писать на JS.

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

     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:


      Закладки на сайте
      Проследить за страницей
    Created 1996-2018 by Maxim Chirkov  
    ДобавитьПоддержатьВебмастеруГИД  
    Hosting by Ihor