Компания Google представила новый визуальный язык программирования Blockly
Компания Google выпустила новый визуальный язык программирования Google Blockly, который позволяет создавать программы без ввода каких-либо символов или текста, манипулируя только набором типовых логических блоков, соединение которых, напоминающее составление пазла, позволяет реализовывать заданную алгоритмическую функциональность. Технически этот визуальный язык реализован на JavaScript и позволяет составлять программы прямо в браузере, просто перетаскивая и компонуя в логические цепочки блоки, после чего такая программа может быть скомпилирована в более традиционный целевой язык, такой как JavaScript, Dart или Python. Код проекта распространяется под лицензией Apache.
Источником вдохновения для 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 на этот новый и перспективный язык”.
Дайджест новых статей по интернет-маркетингу на ваш email
Новые статьи и публикации
- 2024-11-26 » Капитан грузового судна, или Как начать использовать Docker в своих проектах
- 2024-11-26 » Обеспечение безопасности ваших веб-приложений с помощью PHP OOP и PDO
- 2024-11-22 » Ошибки в Яндекс Вебмастере: как найти и исправить
- 2024-11-22 » Ошибки в Яндекс Вебмастере: как найти и исправить
- 2024-11-15 » Перенос сайта на WordPress с одного домена на другой
- 2024-11-08 » OSPanel 6: быстрый старт
- 2024-11-08 » Как установить PhpMyAdmin в Open Server Panel
- 2024-09-30 » Как быстро запустить Laravel на Windows
- 2024-09-25 » Next.js
- 2024-09-05 » OpenAI рассказал, как запретить ChatGPT использовать содержимое сайта для обучения
- 2024-08-28 » Чек-лист: как увеличить конверсию интернет-магазина на примере спортпита
- 2024-08-01 » WebSocket
- 2024-07-26 » Интеграция с Яндекс Еда
- 2024-07-26 » Интеграция с Эквайринг
- 2024-07-26 » Интеграция с СДЕК
- 2024-07-26 » Интеграция с Битрикс-24
- 2024-07-26 » Интеграция с Travelline
- 2024-07-26 » Интеграция с Iiko
- 2024-07-26 » Интеграция с Delivery Club
- 2024-07-26 » Интеграция с CRM
- 2024-07-26 » Интеграция с 1C-Бухгалтерия
- 2024-07-24 » Что такое сторителлинг: техники и примеры
- 2024-07-17 » Ошибка 404: что это такое и как ее использовать для бизнеса
- 2024-07-03 » Размещайте прайс-листы на FarPost.ru и продавайте товары быстро и выгодно
- 2024-07-01 » Профилирование кода в PHP
- 2024-06-28 » Изучаем ABC/XYZ-анализ: что это такое и какие решения с помощью него принимают
- 2024-06-17 » Зачем вам знать потребности клиента
- 2024-06-11 » Что нового в работе Яндекс Метрики: полный обзор обновления
- 2024-06-11 » Поведенческие факторы ранжирования в Яндексе
- 2024-06-11 » Скорость загрузки сайта: почему это важно и как влияет на ранжирование
Чтобы вырастить плодоносящий сайт - его полезно регулярно поливать и удобрять с помощью рекламы и оптимизации Компания "RedLine" |
Мы создаем сайты, которые работают! Профессионально обслуживаем и продвигаем их , а также по всей России и ближнему зарубежью с 2006 года!
Как мы работаем
Заявка
Позвоните или оставьте заявку на сайте.
Консультация
Обсуждаем что именно Вам нужно и помогаем определить как это лучше сделать!
Договор
Заключаем договор на оказание услуг, в котором прописаны условия и обязанности обеих сторон.
Выполнение работ
Непосредственно оказание требующихся услуг и работ по вашему заданию.
Поддержка
Сдача выполненых работ, последующие корректировки и поддержка при необходимости.