Компания Google представила новый визуальный язык программирования Blockly
Источником вдохновения для Blockly послужил похожий проект AppInventor, изначально развиваемый для платформы Android. При этом сам AppInventor в свою очередь был вдохновлен языком Scratch. Существует альтернативная разработка Scratch, которую принципиально сделал открытым Калифорнийский университет в Беркли (University of California at Berkeley) – это Snap (также известный как 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 на этот новый и перспективный язык”.
Источник: http://www.opennet.ru/opennews/art.shtml?num=34087
|
0 | Tweet | Нравится |
|