Jump to content

Язык визуального программирования

Простой пользовательский блок в Snap! язык визуального программирования, основанный на Scratch , вычисляющий сумму всех чисел со значениями между a и b

В вычислительной технике используется язык визуального программирования ( система визуального программирования , VPL или VPS ), также известный как диаграммное программирование . [1] [2] Графическое программирование или блочное кодирование — это язык программирования , который позволяет пользователям создавать программы , манипулируя элементами программы графически, а не задавая их в текстовом виде . [3] VPL позволяет программировать с помощью визуальных выражений, пространственного расположения текста и графических символов, используемых либо как элементы синтаксиса , либо как вторичные обозначения . Например, многие VPL основаны на идее «коробок и стрелок», где рамки или другие объекты экрана рассматриваются как объекты, соединенные стрелками, линиями или дугами, которые представляют отношения. VPL обычно являются основой платформ разработки Low-code .

Определение [ править ]

В зависимости от типа и степени используемого визуального выражения языки VPL можно далее классифицировать на языки, основанные на значках, языки, основанные на формах, и языки диаграмм. Среды визуального программирования предоставляют графические или знаковые элементы, которыми пользователи могут манипулировать в интерактивном режиме в соответствии с некоторой конкретной пространственной грамматикой для построения программы.

Общая цель VPL — сделать программирование более доступным для новичков и поддержать программистов на трех разных уровнях. [4]

Синтаксис
В VPL используются значки/блоки, формы и диаграммы, пытающиеся уменьшить или даже исключить вероятность синтаксических ошибок, помогая организовать программные примитивы для создания правильно построенных программ.
Семантика
VPL могут предоставлять некоторые механизмы для раскрытия значения примитивов программирования. Сюда могут входить функции справки, обеспечивающие функции документации, встроенные в языки программирования.
Прагматика
VPL поддерживают изучение того, что означают программы в конкретных ситуациях. Этот уровень поддержки позволяет пользователям переводить артефакты, созданные с помощью VPL, в определенное состояние, чтобы изучить, как программа отреагирует на это состояние. Примеры: В AgentSheets или AgentCubes пользователи могут переводить игры или симуляции в определенное состояние, чтобы увидеть, как программа отреагирует. С помощью языка программирования Thymio пользователи могут привести робота в определенное состояние, чтобы увидеть, как он отреагирует, т. е. какие датчики будут активированы.

По состоянию на 2005 год текущие разработки пытаются интегрировать подход визуального программирования с языками программирования потоков данных , чтобы либо иметь немедленный доступ к состоянию программы , что приводит к онлайн-отладке, либо к автоматическому созданию программы и документированию. Языки потоков данных также допускают автоматическое распараллеливание , что, вероятно, станет одной из величайших проблем программирования будущего. [5]

интегрированной среды разработки ( IDE ) Языки Visual Basic, Visual C#, Visual J# и т. д. Microsoft Visual Studio не являются языками визуального программирования: представление алгоритмов и т. д. является текстовым, хотя IDE дополняет действия по редактированию и отладке богатым набором инструментов. пользовательский интерфейс. Аналогичное соображение применимо и к большинству других сред быстрой разработки приложений , которые обычно поддерживают конструктор форм , а иногда также имеют графические инструменты для иллюстрации (но не определения) потока управления и зависимостей данных.

Парсеры для языков визуального программирования можно реализовать с помощью грамматик графов . [6] [7]

Типы визуальных языков [ править ]

Следующий список не является взаимоисключающим, поскольку некоторые среды визуального программирования могут включать элементы из нескольких парадигм. Выбор парадигмы визуального программирования часто зависит от конкретных требований приложения или предпочтений пользователей или разработчиков.

Блочное программирование
Популяризирован такими платформами, как Scratch и Blockly, используется в образовательных целях и для вводного программирования.
Блок-схемы
Широко используется в разработке программного обеспечения и проектировании систем для представления алгоритмов и процессов.
Интерфейсы с возможностью перетаскивания
Обычно используется в инструментах проектирования графического пользовательского интерфейса и средах разработки для создания пользовательских интерфейсов.
Графы узлов
Часто используется в языках визуального программирования, разработке игр и системах управления потоками данных.
Программирование потоков данных
Популярен в параллельных вычислениях, обработке сигналов и средах визуального программирования.
Знаковое программирование
Используется в различных контекстах для упрощения задач программирования, часто связанных с разработкой мобильных приложений.
Государственные машины
Широко используется в разработке игр, системах управления и моделировании реактивных систем.
Табличное программирование
Встречается в приложениях для работы с электронными таблицами и некоторых средах образовательного программирования.
Программирование на основе временной шкалы
Обычно используется в мультимедийном и анимационном программном обеспечении для упорядочивания событий во времени.
Пространственное программирование
Применяется в некоторых средах интерактивного и 3D-моделирования.
Программирование на основе форм
Используется в приложениях, где пользовательский ввод и графические интерфейсы играют важную роль, например в приложениях ввода данных.

Визуальные языки общего назначения [ править ]

Реализация кольцевой виртуальной машины (VM) с использованием PWCT. языка визуального программирования

Большинство VPL предназначены для обучения или использования в конкретных областях, где целевыми пользователями являются начинающие программисты. Но есть некоторые исследовательские проекты, пытающиеся создать язык визуального программирования общего назначения , который могут использовать основные программисты в любом программном проекте вместо использования языков текстового программирования, таких как ( C , C++ , Java и т. д.).

Например, исследовательские проекты, такие как Envision [8] [9] и ПРКТ [10] предназначены для достижения этой цели. Обычно VPL разрабатывается с использованием текстового языка программирования. Разработка VPL общего назначения позволяет сделать наоборот. Например, новый язык текстового программирования Compiler and Virtual Machine . в 2016 году с использованием визуального программирования разработан [11]

Список визуальных языков [ править ]

Ниже приведен список известных языков визуального программирования.

Образовательный [ править ]

  • AgentCubes , инструменты вычислительного мышления для 3D и 2D игр и моделирования.
  • AgentSheets — инструмент для разработки игр и вычислительной техники.
  • Алиса — объектно-ориентированный язык, используемый для программирования 3D-сред.
  • Analytica — для построения и анализа количественных моделей для принятия решений и анализа рисков.
  • App Inventor для Android — инструмент для создания Android -приложений, основанный на Blockly и Kawa .
  • Blockly — клиентская библиотека языка программирования JavaScript для создания блочных языков визуального программирования (VPL) и редакторов. Blockly известен своим использованием в Scratch .
  • Bubble , для создания готовых к использованию веб-приложений .
  • Catrobat — блочный язык визуального программирования для анимации, приложений и игр.
  • Etoys , разработанный под руководством Алана Кея в Disney для поддержки конструкционистского обучения под влиянием Сеймура Паперта и языка программирования Logo.
  • Flowcode — инструмент визуального программирования для встраиваемых микроконтроллеров и Windows.
  • Flowgorithm создает исполняемые блок-схемы, которые можно преобразовать на несколько языков.
  • Greenfoot , IDE для Java или Stride, в первую очередь предназначенная для образовательных целей, а также для графического интерфейса и разработки игр.
  • Hopscotch приложение для iPad и язык визуального программирования для создания мобильных приложений, ориентированных на сенсорный экран.
  • Kodu — инструмент визуального программирования для Logo .
  • Kojo — язык программирования, IDE и среда обучения.
  • mBlock — расширение Scratch для Arduino аппаратных интерфейсов . Разработано Makeblock .
  • Откройте Roberta , онлайн-среду программирования от Fraunhofer IAIS , предназначенную для детей.
  • Pencil Code — язык визуального программирования, основанный на рисовании карандашом.
  • Raptor — продукт ВВС США , для рисования исполняемых блок-схем.
  • Scratch — продукт Массачусетского технологического института , предназначенный для детей K-12 и внеклассных программ.
  • ScratchJr — интерпретация Scratch, предназначенная в первую очередь для более молодой аудитории (детей 5–7 лет).
  • Щелчок! , браузерная реализация BYOB и расширение Scratch с первоклассными процедурами и списками. Используется для преподавания в Калифорнийском университете в Беркли .
  • Stagecast Creator — система обучения на основе Java.
  • StarLogo язык моделирования на основе агентов, разработанный Митчелом Резником , Эриком Клопфером и другими в MIT Media Lab . Расширение языка программирования Logo ( диалект Lisp . )
  • ToonTalk , система программирования для детей.
  • Visual Logic для создания исполняемых блок-схем.
  • VIPLE Языковая среда программирования Visual IoT/робототехники

Мультимедиа [ править ]

Видеоигры [ править ]

  • Babylon.js имеет редактор материалов узлов, который можно использовать для создания шейдеров, процедурных текстур, систем частиц и эффектов постобработки. [18]
  • Blender Game Engine (графический логический редактор)
  • Сборка
  • Clickteam Fusion , программное обеспечение для создания 2D-игр с системой редактирования событий, разработанное Clickteam SARL, первоначально известное как Klik n'Play, The Games Factory и Multimedia Fusion 2.
  • Construct 2-3 — это редакторы 2D-игр на базе HTML5, разработанные Scirra Ltd.
    • Construct Classic — это предыдущая версия Construct с открытым исходным кодом на основе DirectX. [19] [20]
  • CryEngine имеет основанный на узлах язык визуального программирования под названием FlowGraph.
  • Dreams , работающая на PlayStation, имеет обширный визуальный язык, позволяющий игрокам создавать любые игры.
  • Game Builder Garage — инструмент для создания 3D- и 2D-игр для Nintendo Switch , разработанный Nintendo .
  • GameMaker Studio имеет систему создания игр с помощью перетаскивания, разработанную YoYo Games.
  • GameSalad — это инструмент для создания визуальных игр, разработанный GameSalad, Inc.
  • GDevelop — это инструмент для создания визуальных игр, созданный Флорианом Ривалом (4ian).
  • Игровой движок Godot позволяет создавать игровые сценарии и графические шейдеры с использованием языков визуального программирования графов узлов.
  • Human Resource Machine — это игра-головоломка на основе визуального программирования, разработанная Tomorrow Corporation .
  • Kodu — программное обеспечение, предназначенное для программирования игр с 3D-интерфейсом, разработанное Microsoft Research.
  • MakeCode Arcade от Microsoft
  • Pixel Game Maker MV — это инструмент для разработки 2D-видеоигр на основе интерфейса.
  • Rec Room включает в себя систему создания игр с основанным на узлах языком визуального программирования под названием Circuits.
  • Snowdrop имеет систему визуальных сценариев.
  • Stencyl — инструмент для создания видеоигр.
  • Начиная с выпуска ECS, Unity имеет систему визуальных сценариев.
  • Unreal Engine 4 имеет основанный на узлах язык визуального программирования под названием Blueprints, а также шейдеры.

Во многих современных видеоиграх используются деревья поведения , которые, по сути, представляют собой семейство простых языков программирования, предназначенных для моделирования поведения неигровых персонажей . Поведения моделируются в виде деревьев и часто редактируются в графических редакторах.

Системы/моделирование [ править ]

Автоматизация [ править ]

  • Автоматизация
  • CiMPLE , язык визуального программирования от ThinkLABs для обучения робототехнике.
  • Используйте язык графической интеграции, используемый на webMethods . платформе
  • Pipeline Pilot — это научный язык визуального программирования и языка программирования потоков данных, а также инструмент разработки для Accelrys Enterprise Platform .

Хранилище данных/бизнес-аналитика [ править ]

Разное [ править ]

  • Cube, esolang для эмуляции 3D-куба через 2D-текстовый интерфейс. «Кубик» .
  • Kwikpoint — визуальный переводчик изотипов, созданный Аланом Стиллманом.
  • Lava — экспериментальный объектно-ориентированный RAD . язык
  • Морфический (программный) упрощает создание и редактирование графических объектов путем прямого манипулирования и из программ; вся среда программирования Self (язык программирования) построена с использованием Morphic.
  • Пит , эзотерический язык, программа представляет собой изображение, пиксели которого являются элементами языка.
  • PWCT — бесплатный язык визуального программирования с открытым исходным кодом для разработки программного обеспечения.
  • Пигмалион, творческая среда программирования, разработанная в 1975 году DARPA на основе человеческого общения и проектирования систем.
  • Ярлыки — язык визуальных сценариев, разработанный Apple для создания макросов в macOS , iOS , iPadOS и watchOS .
  • StreamBase Systems , StreamBase EventFlow — визуальный язык программирования для обработки потоковых событий.
  • WebML — это визуальный язык для разработки сложных веб-приложений с интенсивным использованием данных, которые могут создаваться автоматически.
  • Yahoo! Pipes — это система программирования визуальных потоков данных для обработки веб-данных. [21]
  • YAWL , язык графического рабочего процесса

Наследие [ править ]

  • AppWare , также известный как MicroBrew, программирование на основе значков для классической Mac OS и Microsoft Windows.
  • Macromedia Authorware — язык программирования на основе блок-схем
  • Helix и Double Helix, новаторская система управления базами данных для платформы Apple Macintosh, созданная в 1983 году.
  • Illumination Software Creator , язык и IDE для визуального создания настольного и мобильного программного обеспечения.
  • ТингЛаб

Визуальные стили [ править ]

См. также [ править ]

Ссылки [ править ]

  1. ^ Брэгг, SD; Дрискилл, CG (1994). «Диаграммно-графические языки программирования и DoD-STD-2167A». Материалы АВТОТЕСТКОН '94 . стр. 211–220. дои : 10.1109/AUTEST.1994.381508 . ISBN  0-7803-1910-9 . S2CID   62509261 .
  2. ^ Кухейл, Массачусетс; Фарук, С.; Хаммад, Р.; Бахья, М. (2021). «Характеристика подходов к визуальному программированию для разработчиков конечных пользователей: систематический обзор» . Доступ IEEE . 9 : 14181–14202. Бибкод : 2021IEEA...914181K . дои : 10.1109/ACCESS.2021.3051043 .
  3. ^ Йост, Беате; Кеттерл, Маркус; Бадд, Рейнхард; Леймбах, Торстен (2014). «Среды графического программирования для образовательных роботов: Open Roberta - еще один?». Международный симпозиум IEEE по мультимедиа 2014 . стр. 381–386. дои : 10.1109/ISM.2014.24 . ISBN  978-1-4799-4311-1 . S2CID   8272806 .
  4. ^ Репеннинг, Александр (2017). «Выход за рамки синтаксиса: уроки 20 лет блочного программирования в AgentSheets» . Журнал визуальных языков и разумных систем . 3 : 68–91. дои : 10.18293/vlss2017-010 .
  5. ^ Джонстон, штат Вашингтон; Ханна, JRP; Миллар, Р.Дж. (2004). «Достижения в языках программирования потоков данных» (PDF) . Обзоры вычислительной техники ACM . 36 (1): 1–34. дои : 10.1145/1013208.1013209 . S2CID   5257722 . Проверено 16 февраля 2011 г.
  6. ^ Рекерс, Дж.; Шюрр, А. (1997). «Определение и анализ визуальных языков с помощью грамматик многоуровневых графов». Журнал визуальных языков и вычислений . 8 (1): 27–55. дои : 10.1006/jvlc.1996.0027 . S2CID   40088910 .
  7. ^ Чжан, Д.-К. (2001). «Контекстно-зависимый формализм графовой грамматики для спецификации визуальных языков». Компьютерный журнал . 44 (3): 186–200. дои : 10.1093/comjnl/44.3.186 . hdl : 10397/17637 . S2CID   14139133 .
  8. ^ Асенов Д. и Мюллер П., 2014, июль. Envision: быстрый и гибкий визуальный редактор кода с плавным взаимодействием (обзор). В 2014 году состоялся симпозиум IEEE по визуальным языкам и человеко-ориентированным вычислениям (VL/HCC) (стр. 9–12). IEEE.
  9. ^ «Предвидеть» .
  10. ^ Файед, М.С., Аль-Куриши, М., Аламри, А., Хоссейн, М.А. и Аль-Дарайсе, А.А., 2020. PWCT: новый язык визуального программирования общего назначения для поддержки повсеместной разработки приложений. Транзакции CCF по всеобъемлющим вычислениям и взаимодействию, 2, стр. 164–177.
  11. ^ Аюни, М., 2020. Начало кольцевого программирования (том 978, № 1, стр. 4842-5832). Апресс.
  12. ^ http://www.computermusicjournal.org/reviews/31-* * * 2/regan-bidule.html
  13. ^ «Редактор шейдеров — Руководство по Blender» . docs.blender.org . Проверено 22 января 2021 г.
  14. ^ «Композитинг — Руководство по Блендеру» . docs.blender.org . Проверено 22 января 2021 г.
  15. ^ «Редактирование текстур — Руководство по Blender» . docs.blender.org . Проверено 22 января 2021 г.
  16. ^ «Справочник/Примечания к выпуску/2.92/Узлы геометрии — Blender Developer Wiki» . wiki.blender.org . Проверено 22 января 2021 г.
  17. ^ «Узлы геометрии — Руководство по Blender» . docs.blender.org . Проверено 2 октября 2021 г.
  18. ^ «Редактор материалов узла Babylon.js» . nme.babylonjs.com . Проверено 22 января 2021 г.
  19. ^ Домашняя страница Construct Classic
  20. ^ Страница Construct Classic на SourceForge.
  21. ^ «Yahoo! трубы» . Архивировано из оригинала 3 января 2015 г. Проверено 3 января 2015 г.

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 1dd7145c1bba7a15bd29b9d210b1d089__1711477740
URL1:https://arc.ask3.ru/arc/aa/1d/89/1dd7145c1bba7a15bd29b9d210b1d089.html
Заголовок, (Title) документа по адресу, URL1:
Visual programming language - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)