«Разработчики Dart ставят своей целью создать структурированный, но гибкий язык веб-программирования», — сообщил Ларс Бак, инженер программного обеспечения Google, участвующий в работе над Dart.
По его утверждению, Dart близок по возможностям к JavaScript, но не имеет проблем с масштабируемостью и структурных недоработок, присущих JavaScript. В служебных записках Google, содержание которых стало известно в результате утечки информации, инженеры компании досадовали на «фундаментальные дефекты JavaScript, которые невозможно устранить эволюционным путем».
Dart представляет собой объектно-ориентированный язык, задуманный одновременно как средство быстрой «сборки» малых проектов и как инструментарий создания крупномасштабных веб-приложений. Dart поддерживает как динамическую типизацию — возможность вводить переменные без объявления их типа, так и статическую, когда тип задается заранее. Динамическая типизация лучше всего подходит для малых проектов, требующих быстроты построения, тогда как статическая помогает обезопасить и ускорить исполнение обширных веб-скриптов.
В состав ознакомительной версии Dart входят компилятор, виртуальная машина и набор базовых библиотек. Чтобы скрипты на новом языке исполнялись в любом браузере, их можно перекомпилировать в JavaScript при помощи специального инструмента. В Google надеются, что со временем во всех браузерах появится встроенная виртуальная машина для исполнения программ на Dart, но пока поддержки нового языка нет даже в собственном браузере Google. «Не исключено, что со временем Chrome сможет исполнять скрипты Dart», — указал Бак.
Google предстоит немало потрудиться над маркетингом Dart, если в компании всерьез рассчитывают создать замену JavaScript. Согласно последней редакции ежемесячного рейтинга Tiobe Index, JavaScript занимает десятое место по популярности среди всех существующих языков программирования.
Изначально JavaScript был разработан компанией Netscape в 1995 году в качестве языка скриптов, позволяющего добавлять динамические возможности к Web-страницам. На следующий год Netscape представила JavaScript организации ECMA International на утверждение в качестве стандарта. В результате был создан стандарт ECMAScript. Его диалект под названием ActionScript также использует компания Adobe — с его помощью можно разрабатывать приложения для Adobe Flash Player.
Dart — не первая попытка Google создать новый язык программирования, устраняющий ограничения прежних. В 2009 году компания представила язык Go, созданный в качестве более простой альтернативы C++, Java и другим традиционным языкам программирования.