Пару дней назад Сеть облетела новость, что Google собирается представить в октябре 2011 года новый язык веб-программирования Dart. К сожалению, никакой дополнительной информации на эту тему не было. Однако в архиве ньюс-группы com.googlegroups.google-caja-discuss сохранилось письмо с заголовком "Future of Javascript doc from our internal JavaScript Summit", датированное 16 ноября 2010 года, которое даёт хоть какое-то представление о том, что такое Dash (там упоминается именно такое название). Письмо составлено по результатам внутреннего совещания ведущих разработчиков Google на тему развития клиентских языков веб-программирования.
Если вкратце, то Google разрабатывает Dash в качестве замены/альтернативы Javascript. На совещании разработчики сошлись во мнении, что Javascript обладает "фундаментальными" изъянами, которые невозможно исправить путём эволюционного развития.
Есть два варианта решения проблемы. Первый - попытка исправить те недостатки Javacript, какие возможно (проект Harmony). Эта работа займёт годы и в любом случае не будет на 100% успешной, потому что фундаментальные изъяны и исторический багаж всё равно останутся.
Второй вариант, параллельно с первым, - создание нового языка Dash, который сохранит динамическую природу Javascript, но обеспечит лучшую производительность и будет пригоден для использования в больших проектах. При этом Google обеспечит открытость языка и будет способствовать его поддержке другими браузерами. Вдобавок разработчики получат кросс-компилятор, так что Dash-код может быть переведён в Javascript для браузеров, которые не поддерживают Dash нативно.
Второй вариант более рискованный, зато в случае успеха он обеспечивает настоящий прорыв.
Google не имеет права делать ставку только на второй вариант, потому что в случае провала лидерские позиции Google в Сети будут серьёзно подорваны, а процесс развития Javascript затормозится. Так что планируется одновременное продвижение обоих вариантов. Проект Harmony будет активно продвигаться компанией Google, так же как и Dash.
Dash - это революционный вариант. Он разработан с учётом трёх главных целей:
Производительность. Виртуальные машины на Dash не будут иметь тех проблем с производительностью, которые есть у всех машин EcmaScript.
Удобство разработки. Будет сохранена динамическая, лёгкая в освоении, не требующая компиляции природа Javascript, которая сделала веб-платформу абсолютным лидером среди программистов-любителей.
Поддержка редакторов кода и дополнительных инструментов. Dash спроектирован таким образом, чтобы было легче использовать дополнительные инструменты для больших серьёзных проектов, которые требуют поддержки, в том числе таких функций, как рефакторинг и поиск мест вызова функций. В то же время Dash не будет требовать обязательного использования редактора кода для эффективного программирования, так что обычный разработчик вполне может быть доволен работой в текстовом редакторе.
Dash также должен обеспечивать максимальную безопасность там, где эта задача не конфликтует с тремя главными.
Предполагается, что поддержка Dash будет встроена во все браузеры как основной нативный клиентский язык (вместо Javascript), он также будет использоваться на серверах фронт-енда, а также в кросс-компиляторах.
Разработкой языка Dash занимается известный программист Ларс Бак (Lars Bak) и его группа разработчиков в датском офисе. Дополнительный инструментарий создаёт команда Брюса Джонсона (Bruce Johnson) в Атланте, а поддержку уровня Web Inspector для Dash и Harmony делает Павел Фельдман (Pavel Feldman) с разработчиками из офиса Google в Санкт-Петербурге.
В ноябре 2010 года предполагалось, что первые фрагменты поддержки Dash в браузере Chrome появятся в течение года. Для остальных браузеров будет выпущен кросс-компилятор, а нативная поддержка у них появится гораздо позже, ждать придётся вплоть до нескольких лет. Ларс Бак пообещал "мило побеседовать" с разработчиками других браузеров о языке Dash, и если продукт получится очень качественный, то они сами захотят как можно быстрее внедрить его поддержку.
Анатолий АЛИЗАР
Горячие темы