Особенности реализации виртуальной машины в Dart. JS и Dart глазами компиляторщика



    Продолжаем публиковать видео с митапа Dart разработчиков, который прошел в офисе Wrike в конце ноября. Сегодня представляем доклад Вячеслава Егорова из Google. Вячеслав — сотрудник Google в городе Орхус, Дания, в том самом офисе, где появился на свет V8 JavaScript engine и язык программирования Dart. Компиляторщик до мозга костей, интересующийся всем, что так или иначе связанно с виртуальными машинами. Работал над V8, сейчас работает над Dart VM и иногда чинит баги в LuaJIT. Вместе с ним залезем под капот Dart VM.



    Первая часть докладов.
    Wrike
    Делаем совместную работу проще

    Комментарии 33

      +2
      Хватит уже мертвый язык теребить :)
        +3
        Похоже, сам Дарт-то не в курсе своей смерти…
          0
          Дмитрий, конечно, забыл прихватить с собой вентилятор. Но кажется, что интерес Google сместился в сторону Typescript, даже Angular2 на Dart зарелизился позже. Возможно Dart и ждет светлое будущее, но сейчас к нему интерес немного угас.
            0
            Прошу прощения за такое количество ссылок, но немного про Angular2 for Dart писали здесь: https://habrahabr.ru/company/wrike/blog/315768/
              +4
              Вы немного извратили факты. Angular2 не предполагался изначально делаться на Dart, была TS адаптированная версия для Dart, но потом решили, что Dart настолько крут, что Angular2, переписанный чисто на нём, будет намного лучше. И не так давно создатели отчитались об ускорении фреймворка, об уменьшении его веса, ещё что-то положительное рассказали, сразу и не вспомню, в сравнении с TS версией.

              Если уйти от Angular, то сейчас делается Flutter, который в состоянии альфы выглядит достойно в сравнении с Cordova и его суррогатами. Есть StageXL, для 2D игр очень бодрая библиотека, которая позволяет брать анимации из Spine или FlashPro, плюс к этому имеет проверенный временем API(схож с флэшовым).
              Кроме этого делается компилятор для генерации человекочитаемого JS. Я переробовал множество разных языков и TS не выигрывает у Dart по удобству. Коммерческие проекты у меня были на обоих языках, я не с пустого места говорю.
                0
                Факты не искажал, у меня не было идеи углубляться в историю Angular2, и я точно не говорил, что Angular2 TS не поддерживал Dart. Я лишь указал, что первоначально в качестве основного языка был выбран Typescript, а уже потом начали разрабатывать отдельную ветку на Dart.
                  +2
                  Возможно, вы не хотели исказить, но исказили, факты изложены выше.
            0
            Кого ошибочно хоронят, тот потом долго живет https://techcrunch.com/2016/10/26/googles-dart-programming-language-returns-to-the-spotlight/
              +2
              Да, но мы все знаем, как Google умеет делать =)
                0
                Это да :) Но суицидальных наклонностей за Google не замечалось — гугловская «золотая антилопа» AdWords написан на Dart.
                0

                Эта картинка про сервисы. А Dart это технология, да еще и выложенная в open-source. Закрыть ее по решению ответственного (или безответственного) менеджера не получится, есть коммьюнити, которое все равно будет пользоваться технологий, хотя без поддержки крупной компании будет тяжелее.


                Поэтому картинка здесь не совсем к месту.

                  +2
                  Я про то, что развитием занимается в основном Google. И потеряв интерес к Dart'у, Google фактически его похоронит. А картинка в основном про то, на сколько компания готова к перераспределению внутренних ресурсов.
                    +1
                    Вы как пример заброшенных проектов привели список неудачных проектов. Dart, откровенно говоря, таким не является, хотя и медленно, но уверенно популярность этого языка растёт. С чего бы гугл станет закрывать проект набирающий популярность?
                      0
                      Лично мое имхо — если раньше начиная с релиза его усердно рекламировали, писали кучу статей, хотели в основную ветку хромиума его добавить, то спустя несколько лет количество статей уменьшилось, в основную ветку он так и не попал (да, есть Dartium). Я его не хороню, как я уже писал выше, я просто указываю, что гугл теоретически может расстаться с ним.
                        +1
                        Было определённое затишье со статьями последний год, это да. Отказ от встраивания в хром был немногим ранее новостей о Webassembly, вероятно, это как-то связано. Удобство Dart для разработки настолько выше в сравнении с другими аналогами, что я бы сказал отказ гугла от этого языка маловероятен.
                          +1
                          «Удобство Dart для разработки настолько выше в сравнении с другими аналогами» — да-да, конечно. Особенно нравится то, что Dartium валится чуть ли не каждый час, VM Dart-a жрет несколько гигабайт памяти (всего-то запущено pub serve web),  а после выхода новой версии Dart необходимо скачать новую версию Dartium. А какие средства для измерения производительности в браузере! А как много сторонних библиотек, которые можно использовать в проекте! Ну и шикарная интеграция с JS в добавок
                            +1
                            Вас Dart в детстве покусал что ли?
                              0
                              Ну, в детстве он меня покусать не мог, т.к. его тогда еще и не было. Но работал с ним достаточно, скажем так
                                0
                                Вы уже слышали о новой системе общения Dart-JS package:js? Общение Dart и JS кода становится намного проще чем со старым dart:js. С проблемами vm я сталкивался только на виртуальной linux машине, на какой-то уникальной конфигурации, такой, что повторить «успех» не смог. Для обновления SDK и Dartium есть chocolatey.
                                Мне кажется, что вы огорчены потому, что уже очень давно не видели Dart.
                                  0
                                  Да, конечно слышал. И там все не так хорошо работало, насколько помню. Например, помню, что были проблемы при передаче объектов из Dart в JS — приходилось передавать обычные Map из-за этого. Скорее всего уже пофиксили.
                                  Все проблемы, что я описал — на обычной Ubuntu 16.**, работал с Dart до сентября 2016 года.
                +3
                Да-да, расскажите это GWT разработчикам
                  0
                  А что не так с GWT? Релиз 2.8 от 4 октября, поддержка Java8 и новый jsinterop. Другой вопрос, что желающих писать клиентскую часть на Java не так уж много.
                    0
                    Другой вопрос, что желающих писать клиентскую часть на Java не так уж много.


                    Возникает вопрос — зачем?
                    Ну, раньше было много Java-спецов — а тут взлёт SPA — ну, и никто не хотел учить какой-то ...scrip.

                    Но сейчас то зачем GWT?
                      0
                      Для Android разрабатывать не приходилось? Там как бы Java. И GWT это тоже она. Можно получить общую кодовую базу, плюс разработчки пищут на одном языке и чувствуют себя комфортнее. И вообще — зачем тогда нужен Dart или TypeScript если есть классный JS? :-)
                        0
                        Там как бы Java.


                        Верно. Позабыл я. Но зачем она там? — Ну, Гугл таким образом решил проблему откуда брать программистов. — Но Оракл чего то осерчал на него за это (имхо).

                        И GWT это тоже она. Можно получить общую кодовую базу, плюс разработчки пищут на одном языке и чувствуют себя комфортнее.


                        Комфортнее — это верно. Но мы же не к комфорту стремимся! Иначе бы с Кобола не ушли никогда! ;-)

                        И вообще — зачем тогда нужен Dart или TypeScript если есть классный JS? :-)


                        Возражений нет. Не нужны. Ведь есть классный JS! ;-)
              0
                0
                первые 12 минут повторены в видео два раза
                  0
                  Спасибо, исправили! Через некоторое время видео обновится
                  0
                  Вячеслав в начале говорит «в этом офисе сделали V8». Он в офисе wrike в Питере, на сколько я понял. Там сделали V8?
                    0
                    Доклад был удаленный, из офиса Гугл в Орхусе.
                    0
                    Блин, что за фигня… Это мы пропустим, это тоже пропустим, это никому не интересно, это тоже… Мне вот интересно!
                      0
                      Вы можете сформулировать вопросы и задать их в комментариях к видео, мы попросим Славу ответить. Или спросите его напрямую в слэк-канале Ru-Dart

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

                    Самое читаемое