[ON] Компания Google представила новый язык web-программирования Dart

Обсуждение новостей, соответствующих тематике форума

Модератор: Модераторы разделов

Аватара пользователя
rssbot
Бот
Сообщения: 6000
ОС: gnu/linux

[ON] Компания Google представила новый язык web-программирования Dart

Сообщение rssbot »


Компания Google анонсировала новый язык структурированного программирования для Web - Dart, который в долгосрочной перспективе позиционируется как более прогрессивная замена для языка JavaScript, решающая все имеющиеся в настоящее время проблемы с расширяемостью, производительностью и поддержкой разработки сложных приложений. Код нового языка доступен для свободной загрузки и распространяется под лицензией BSD. Кроме достаточно обширной стандартной библиотеки и интерфейсной библиотеки DOM, для Dart поставляется набор инструментов для компиляции, запуска кода в виртуальной машине, проверки кода и отладки. Язык имеет достаточно привычный синтаксис (очень похож на язык Си) и обладает нестрогой типизацией (не обязательно явно определять типы). Dart может использовать как для создания серверных, так и для клиентских приложений. Для запуска внутри браузера код на языке Dart может быть преобразован в JavaScript-представление (пока поддерживаются только браузеры Chrome, Safari 5+ и Firefox 4+) или запущен напрямую под управлением специального JavaScript-интерпретатора Dartboard. На стороне сервера приложение на языке Dart может быть выполнено внутри специальной виртуальной машины, которая обеспечивает производительность выполнения близкую к компилируемым в машинный код языкам. Виртуальную машину Dart планируется интегрировать в будущие версии браузера Chrome, что позволит выполнять приложения на языке Dart без компиляции в JavaScript. Дополнительно поддерживается встраивание Dart-кода в HTML, используя mime-тип "application/dart". Язык подходит как для разработки одним программистом небольших скриптов без жесткой структуры, так и для создания высоко масштабируемых больших модульных проектов, поддерживаемых большим коллективом и требующих более явной типизации для того чтобы избежать неразберихи и ошибок. При этом явное задание типов не обязательно, например, можно начать разработку без указания типов, а в дальнейшем при необходимости добавить их (например, изначально написать "var x", а потом заменить на "num x"). Из поддерживаемых типов отмечаются различныхе виды хэшей, массивов и списков, очереди, числовые и строковые типы, типы для определения даты и времени, регулярные выражения (RegExp). Возможно создание своих типов. При проектировании языка преследовались следующие цели:
  • Структурированный, но гибкий язык для создания web-приложений;
  • Привычный и естественный для программистов, простой для изучения (кстати говоря, это отлично удалось, посмотрев примеры, возникает впечатление, что язык давно знаком);
  • Обеспечивающий быстрый запуск и высокую производительность для всех современных web-браузеров и различных типов окружений, от портативных устройств до мощных серверов.
Ключевые особенности:
  • Возможность определения классов и интерфейсов, позволяющих использовать инкапсуляцию и повторно использовать существующие методы и данные;
  • Необязательное указание типов, использовать или нет статические типы решает разработчик. Указание типов позволяет упростить отладку и выявление ошибок, делает код более ясным и читаемым;
  • Поддержка использования готовых и создания своих библиотек. Сторонние реализации фунуций могут подключаться в виде разделяемых библиотек;
  • Набор готовых инструментов для поддержки разработки на языке Dart, включая реализацию средств динамической разработки и отладки с исправлением кода на лету ("edit-and-continue").
Проблемы web-разработки, которые решены в Dart:
  • Небольшие скрипты, часто используемые в больших web-приложениях в неструктурированном виде, трудно поддерживать и отлаживать. Монолитные приложения проблематично разбить на части и поручить разработку каждой из частей отдельной команде программистов. Чем больше становится web-приложение, тем труднее его развивать и поддерживать;
  • Скриптовые языки популярны в основном в силу своей легковесной натуры и возможности очень быстро создать работающий код. Ценой такого подхода является проблема с восприятием логики работы по структуре самого кода, что требует написания комментариев для некоторых вещей, очевидных в строго типизированных языках. В итоге, сторонним разработчикам трудно разобраться с чужим кодом, обеспечить его поддержку и доработку;
  • Для существующих языков разработчик вынужден выбирать либо языки со статической типизацией, либо с динамической. Традиционные языки со статической типизацией требуют использования тяжелого инструментария и жесткого соблюдения стиля кодирования, из-за чего программист может чувствовать себя слишком ограниченным, а язык ощущаться как лишенный гибкости;
  • Разработчики не могли создавать однородные системы, охватывающие как клиентскую, так и серверную часть. Исключение составляют разве что Node.js и Google Web Toolkit (GWT);
  • Использование различных языков и форматов в проекте влечет за собой переключение контекста, что усложняет процесс кодирования и делает его громоздким.
Язык разработан при участии двух известных экспертов: Гилада Брача (Gilad Bracha), автора объектно-ориентированного функционального языка программирования Newspeak, и разработчика (в соавторстве с Джеймсом Гослингом и Билом Джоем) второй и третьей редакции спецификаций на язык Java, и Ларса Бака (Lars Bak), одного из основоположников использования виртуальных машин, руководившего разработкой виртуальных машин HotSpot и Java ME, а также возглавляющего разработку JavaScript-движка V8.


Источник: http://www.opennet.ru/opennews/art.shtml?num=31991


оригинал на opennet.ru
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5498
ОС: Gentoo

Re: [ON] Компания Google представила новый язык web-программирования Dart

Сообщение /dev/random »

Для тех, у кого возникло ощущение дежа вю: предыдущая новость - о неофициальной, предварительной информации о языке, утекшей из гугла. Теперь гугл официально представил подробности.
Спасибо сказали:
watashiwa_daredeska
Бывший модератор
Сообщения: 4038
Статус: Искусственный интеллект (pre-alpha)
ОС: Debian GNU/Linux

Re: [ON] Компания Google представила новый язык web-программирования Dart

Сообщение watashiwa_daredeska »

Страшный он как термоядерная война Java. Ибо Java и есть — такой же по-дурацки многословный и дубовый, в отличие от JS. Проблему «требует написания комментариев для некоторых вещей, очевидных в строго типизированных языках» можно было решить практически не похерив «легковесную натуру и возможность очень быстро создать работающий код», как делает Dart. Хотя, конечно, «использование различных языков и форматов в проекте влечет за собой переключение контекста» — проблема для истинных «java-программистов».
Спасибо сказали:
Slimy
Сообщения: 1689
ОС: openSuSE 11.2 GM (GеMор едишн)

Re: [ON] Компания Google представила новый язык web-программирования Dart

Сообщение Slimy »

watashiwa_daredeska писал(а):
10.10.2011 21:51
Страшный он как термоядерная война Java. Ибо Java и есть — такой же по-дурацки многословный и дубовый, в отличие от JS. Проблему «требует написания комментариев для некоторых вещей, очевидных в строго типизированных языках» можно было решить практически не похерив «легковесную натуру и возможность очень быстро создать работающий код», как делает Dart. Хотя, конечно, «использование различных языков и форматов в проекте влечет за собой переключение контекста» — проблема для истинных «java-программистов».

Возможно идея была не быстро слепить на коленке чтобы работало, а что бы потом быстро работало и не надо было тех ресурсов что кушает js. В целом задумка интересная.
Если уже ничего не помогает - прочти инструкцию.
sysinstall - гадость :)
ASUS A6q00Vm Pentium-M 1.7 GHz, 2Gb RAM, 160Gb HDD,
GeForce Go 7300 64Mb video
Спасибо сказали:
watashiwa_daredeska
Бывший модератор
Сообщения: 4038
Статус: Искусственный интеллект (pre-alpha)
ОС: Debian GNU/Linux

Re: [ON] Компания Google представила новый язык web-программирования Dart

Сообщение watashiwa_daredeska »

Slimy писал(а):
10.10.2011 22:21
что бы потом быстро работало и не надо было тех ресурсов что кушает js. В целом задумка интересная.
Для этого нужен не язык, а байткод тогда. Чтоб языков могло быть много и разных.
Спасибо сказали: