The OpenNET Project / Index page

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



Индекс форумов
Составление сообщения

Исходное сообщение
"Компания Google представила новый визуальный язык программир..."
Отправлено opennews, 13-Июн-12 13:45 
Компания Google выпустила новый визуальный язык программирования Google Blockly (http://code.google.com/p/google-blockly/), который позволяет создавать программы без ввода каких-либо символов или текста, манипулируя только набором типовых логических блоков, соединение которых, напоминающее составление пазла, позволяет реализовывать заданную алгоритмическую функциональность. Технически этот визуальный язык реализован на JavaScript и позволяет составлять программы прямо в браузере, просто перетаскивая и компонуя в логические цепочки блоки, после чего такая программа может быть скомпилирована в более традиционный целевой язык, такой как JavaScript, Dart или Python. Код проекта распространяется под лицензией Apache.


<img src="https://www.opennet.ru/opennews/pics_base/0_1339578841.png" style="border-style: solid; border-color: #e9ead6; border-width: 15px;" title="" border=0 align=right>Источником вдохновения для Blockly послужил похожий проект AppInventor (http://appinventor.mit.edu/), изначально развиваемый для платформы Android. При этом сам AppInventor в свою очередь был вдохновлен языком Scratch (http://scratch.mit.edu/). Существует альтернативная разработка Scratch, которую принципиально сделал открытым Калифорнийский университет в Беркли (University of California at Berkeley) – это Snap (http://byob.berkeley.edu/#snap4.0) (также известный как Build Your Own Blocks).

От других языков визуального программирования, которых насчитывается около сотни, Blockly отличается думя принципиальными моментами. Во-первых, это сильный акцент на визуальной составляющей разработки; по аналогии с высокоуровневыми языками предложено называть подобный тип языков "сильно-визуальными". Такой подход востребован для новых сенсорных устройств, где ввод традиционного текста затруднён, кроме того такая форма программирования, как показывает опыт, имеет гораздо более легкий порог вхождения, в частности программы на Google Blockly составляют даже дети.


Второй принципиальный момент – это возможность кросс-компиляции в традиционные языки программирования, что создает условия для реализации самых разных подходов по дальнейшему развитию проекта. Например, отдельные части программы могут очень быстро создаваться на Google Blockly, затем после компиляции, например в Python, исходный код такой программы может быть доработан уже на Python, или даже вставлен в уже готовый проект в целях его расширения. В последнем случае приводится пример создания на Google Blockly  расширения к Gmail для обеспечения фильтрации писем. Google считает, что это типовой случай в современном программировании, например при написании некоего расширения к офисному пакеты около 90% кода реализует "полезную логику", а 10% - просто код сопряжения этого расширения с API хост-программы. Google считает, что в таком случае очень удобно быстро “собрать” собственно логику приложения на Google Blockly, тогда как весь более низкоуровневый код работы с API – дописать уже на Python или Dart.

Текущее временное ограничение языка – он не предназначен для создания больших приложений. Пока область его применения – небольшие сервисные скрипты, содержащие сложную логику и многократно вложенные логические и циклические конструкции, которые, по мнению специалистов Google, проще составлять именно на Google Blockly. Отдельно подчеркивается, что в следующих версиях этого визуального языка планируется существенно расширить его семантику, что по заверениям Google сделает его возможности сопоставимыми с традиционными языками программирования.  Поэтому не следует рассматривать этот язык лишь как обучающий – в будущем планируется создание полноценного мультиплатформенного языка программирования на его базе. Именно по причине будущего расширения этого языка принято решение не использовать подход упаковки логики в уже распространенные условно-символические программные схемы (data-flow metaphor languages), так как эксперименты показали, что такой способ представления тяжело поддается расширению и применим исключительно к узкоспециализированным областям программирования.

Разработка осуществляется непосредственно в браузере, в процессе разработки программы её промежуточные результаты сохраняются и вновь загружаются в формате XML. Google Blockly поддерживает не только обычные циклы и ветвления, но и рекурсию. В ближайшее время планируется реализовать: элементы отладки, поддержку мобильных устройств, работу с курсором для лучшего удобства работы, генерацию кода для устройств на базе Arduino. Будут добавлены простейшие элементы событийно-ориентированного программирования – вызов обработчиков при возникновении определенных ситуаций или изменений. В самое ближайшее время планируется существенно улучшить документацию, одновременно добавив множество новых блоков, а также реализовать возможность передачи параметров в процедуры и функции. Над логическими блоками (или сразу массивом из блоков) будет обеспечен набор визуальных операций drag & drop, cut, copy и paste.

Один из разработчиков языка Нил Фрейзер (Neil Fraser) так описывает цели создания языка: ”Эта концепция прошла очень длинный путь, от Ассемблера к Фортрану, затем к C++ и к Python, и наконец, это Blockly. Это попытка подняться на ещё более высокий уровень абстракции, чтобы лишить программирование кастовости и закрытости, сделать его более естественным и доступным для как можно более широкого круга лиц”. В заключении создатели Blockly иронично замечают, что каждому разработчику важно изначально правильно очертить сферу применения этого визуального языка, и не ”пытаться переписывать ядро Linux на этот новый и перспективный язык”.

URL: http://www.i-programmer.info/news/98-languages/4357-google-b...
Новость: https://www.opennet.ru/opennews/art.shtml?num=34087

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.

На сайте действует частичное премодерирование - после публикации некоторые сообщения от анонимов могут автоматически скрываться ботом. После проверки модератором ошибочно скрытые сообщения раскрываются. Для ускорения раскрытия можно воспользоваться ссылкой "Сообщить модератору", указав в качестве причины обращения "скрыто по ошибке".



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

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