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

редактировать
Реализация «Hello, world!» программа на языке программирования Scratch

В вычислениях, язык визуального программирования (VPL ) - любой язык программирования, который позволяет пользователям создавать программы, манипулируя элементами программы графически, а не указывая их текстуально. VPL позволяет программировать с использованием визуальных выражений, пространственного расположения текста и графических символов, используемых либо как элементы синтаксиса , либо вторичной нотации. Например, многие VPL (известные как поток данных или схематическое программирование) основаны на идее «прямоугольников и стрелок», где прямоугольники или другие экранные объекты рассматриваются как объекты, соединенные стрелками, линиями или дугами, которые представляют отношения.

Содержание
  • 1 Определение
  • 2 Список визуальных языков
    • 2.1 Образовательные
    • 2.2 Мультимедиа
    • 2.3 Видеоигры
    • 2.4 Системы / моделирование
    • 2.5 Автоматизация
    • 2.6 Данные складирование / бизнес-аналитика
    • 2.7 Разное
    • 2.8 Устаревшие
  • 3 Визуальные стили
  • 4 См. также
  • 5 Ссылки
  • 6 Внешние ссылки
Определение

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

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

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

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

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

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

Синтаксические анализаторы для языков визуального программирования могут быть реализованы с использованием грамматик графов.

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

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

Образовательные

  • AgentCubes, 3D- и 2D-дизайн игр и моделирование, инструменты вычислительного мышления.
  • AgentSheets, инструмент для создания игр и вычислительной науки.
  • Алиса, объектно-ориентированный язык, используемый для программирования трехмерных сред.
  • Analytica, для построения и анализа количественных моделей для принятия решений и анализа рисков.
  • App Inventor для Android, инструмент для создания Android приложения, основанные на Blockly и Kawa.
  • Blockly, клиентская библиотека для языка программирования JavaScript для создания блочного визуального программирования языки (VPL) и редакторы
  • Bubble, для создания готовых к работе веб-приложений.
  • , образовательной среды программирования с использованием Haskell, с полиморфными блоками, Blockly коннекторы различаются в зависимости от типа возвращаемого значения блока ..
  • Алгоритм потока, создает исполняемые блок-схемы, которые могут быть преобразованы на несколько языков.
  • Hopscotch, приложение для iPad и язык визуального программирования для создания мобильных приложений с сенсорным экраном.
  • Kodu, инструмент визуального программирования для Logo.
  • Kojo, язык программирования, IDE и среда обучения.
  • mBlock, расширение Scratch для аппаратных интерфейсов Arduino. Разработано Makeblock.
  • Open Roberta, средой онлайн-программирования, разработанной для детей.
  • Raptor, продукт USAF, для рисования исполняемых блок-схем.
  • Scratch, продукт MIT, разработанный для детей до 12 лет и внешкольных программ.
  • ScratchJr, другой продукт MIT, разработан для детей в возрасте 5–7 лет.
  • Snap!, браузерная повторная реализация BYOB и расширение Scratch с первоклассными процедурами и списками. Используется для обучения в Калифорнийском университете в Беркли.
  • Stagecast Creator, ранее Apple, Cocoa: Internet Authoring for Kids.
  • StarLogo, агентская язык моделирования, разработанный Митчел Резник, Эрик Клопфер и другими в MIT Media Lab. Расширение Logo языка программирования (диалект из Lisp ).
  • ToonTalk, система программирования для детей.
  • Visual Logic, для создания исполняемых блок-схем.
  • VIPLE Visual IoT / Robotics Programming Language Environment

Multimedia

  • AudioMulch, среда создания звука и музыки на основе потока аудиосигналов
  • Bidule, модульная среда узла и патч-корда для создания интерактивной компьютерной музыки и мультимедиа (Windows, MacOS).
  • , программное обеспечение для цифровой живописи, ориентированное на инструмент генеративного и процедурного искусства.
  • Blender (программное обеспечение)), пакет 3D-графики с открытым исходным кодом, включает «редактор узлов» для создания программ затенения в виде графиков. Кроме того, настраиваемые узлы позволяют создавать системы в виде свершока, блендграфа или других.
  • Cameleon, графический функциональный язык
  • Clickteam The games factory / Multimedia fusion series, среды, созданные для визуально развивающихся игр
  • Dynamo, генеративная модель g интерфейс для Autodesk Revit
  • Filter Forge Создание фильтра на основе узла для обработки изображений.
  • Houdini (программное обеспечение) vfx, программное обеспечение для моделирования и анимации.
  • GenerativeComponents, a параметрическое программное обеспечение САПР, разработанное Bentley Systems
  • Grasshopper 3d, интерфейс генеративного моделирования для Rhinoceros 3D
  • Kyma (язык звукового дизайна), языка визуального программирования для звукового дизайна. музыкантами, исследователями и звукорежиссерами.
  • Mama (программное обеспечение) - язык программирования и IDE для создания 3D-анимации и игр
  • Max (программное обеспечение), среда визуального программирования для создания интерактивных, реальных -time музыкальные и мультимедийные приложения
  • Nodal, приложение для генеративного программирования на основе узлов для музыкальной композиции
  • Nuke, объектно-ориентированное программное обеспечение для визуального программирования для визуальных эффектов композитинга от The Foundry на базе Tcl, Python и Bl ink-script.
  • OpenMusic, визуальный язык программирования для музыкальной композиции (на основе Common Lisp Object System (CLOS)) приложений и мобильных приложений
  • Pure Data ( Pd) - это визуальный язык программирования, разработанный для создания интерактивной компьютерной музыки и мультимедийных произведений.
  • Quartz Composer, язык для обработки и визуализации графических данных (macOS)
  • Reaktor, DSP и MIDI- язык обработки от Native Instruments
  • Scala Multimedia Пакет для разработки и полная мультимедийная система для AmigaOS и Windows
  • Softimage с интерактивной творческой средой ICE.
  • SynthEdit, синтезатор инструмент конструирования с использованием VPL.
  • TouchDesigner, язык визуального программирования для мультимедийного контента в реальном времени
  • Virtools, промежуточное программное обеспечение, используемое для создания интерактивных 3D-приложений
  • vvvv, общего назначения набор инструментов с особым акцентом на синтез видео в реальном времени и программирование больших медиа сред с физическими интерфейсы, движущаяся графика в реальном времени, аудио и видео.
  • WireFusion, среда визуального программирования для создания интерактивных трехмерных веб-презентаций

Видеоигры

  • Blender Game Engine (редактор графической логики)
  • Construct 2 - это редактор 2D-игр на основе HTML5, разработанный Scirra Ltd.
    • Construct Classic - это предыдущая версия Construct с открытым исходным кодом на основе DirectX.
  • CryEngine имеет язык визуального программирования на основе узлов под названием FlowGraph.
  • GameMaker Studio, имеет систему создания игр перетаскиванием, разработанную YoYo Games.
  • GameSalad - инструмент для создания визуальных игр, разработанный GameSalad, Inc.
  • GDevelop - это визуальный инструмент для создания игр, созданный Флорианом Ривалем (4ian).
  • Годо, собственное программное обеспечение с открытым исходным кодом Лицензия MIT для разработки игр.
  • Human Resource Machine - это игра-головоломка на основе визуального программирования, разработанная Tomorrow Corporation.
  • Kodu, программное обеспечение, предназначенное для программирования игр с 3D-интерфейсом. Разработано Microsoft Research.
  • Rec Room включает систему создания игр с языком визуального программирования на основе узлов под названием Circuits.
  • Snowdrop имеет систему визуальных сценариев.
  • Stencyl, инструмент для создания видеоигр.
  • Unity имеет систему визуальных сценариев начиная с выпуска ECS.
  • Unreal Engine 4 имеет язык визуального программирования на основе узлов, называемый Blueprints, а также шейдеры.

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

Системы / моделирование

Automation

  • Automator
  • CiMPLE, Visual Programming Language от ThinkLABs для обучения робототехнике
  • Flow язык графической интеграции, используемый в webMethods платформе
  • Pipeline Pilot - это научный язык визуального программирования и программирования потоков данных, и инструмент разработки для Accelrys Enterprise Platfor m.

Хранилище данных / бизнес-аналитика

  • Ab Initio, инструмент для обработки ETL путем создания графиков
  • Alteryx Designer, инструмент для обработки данных и аналитики, включающий SQL, R и Python.
  • Apache Nifi, программный проект для автоматизации потока данных между программными системами.
  • IBM Cognos Business Intelligence является примером для фронтальной конечные программы в приложениях Business Intelligence, которые используются для генерации SQL запросов для запуска в СУБД баз данных
  • IBM InfoSphere DataStage, инструмент ETL
  • Informatica Powercenter - это инструмент ETL для графического проектирования сопоставлений для загрузки данных в системах хранилищ данных
  • Microsoft SQL Server Integration Services (SSIS), платформа для приложений интеграции данных и рабочих процессов
  • Pentaho Интеграция данных (PDI), ранее называвшаяся Kettle, инструмент ETL с открытым исходным кодом

Разное

  • Kwikpoint, визуальный переводчик изотипов, созданный Аланом Ст. illman
  • Lava, экспериментальный объектно-ориентированный RAD язык
  • Limnor, система программирования общего назначения. Limnor Studio - это среда разработки для быстрой разработки программного обеспечения.
  • Morphic (программное обеспечение), упрощает создание и редактирование графических объектов путем прямого управления и из программ; вся среда программирования Self (язык программирования) построена с использованием Morphic
  • Piet, эзотерического языка, программа представляет собой изображение, пиксели которого являются элементами языка
  • PWCT, Бесплатный язык визуального программирования с открытым исходным кодом для разработки программного обеспечения
  • StreamBase Systems, StreamBase EventFlow - это язык визуального программирования для обработки потоковых событий
  • WebML, визуальный язык для разработки сложных веб-приложений с интенсивным использованием данных, которые может быть автоматически сгенерирован
  • Yahoo! Pipes - это система программирования визуального потока данных для обработки веб-данных
  • YAWL, язык графического рабочего процесса

Legacy

  • AppWare, также известный как MicroBrew, программирование на основе значков для классическая Mac OS и Microsoft Windows
  • Macromedia Authorware - язык программирования на основе блок-схем
  • Helix и Double Helix, новаторская система управления базами данных для платформы Apple Macintosh, созданная в 1983
  • Illumination Software Creator, язык и IDE для визуального создания программного обеспечения для настольных и мобильных устройств
  • ThingLab
Визуальные стили
См. Также
Ссылки
Эта статья изначально была основана на материалах из Free On-line Dictionary of Computing, использованного с разрешения. Обновите при необходимости.
Внешние ссылки
Последняя правка сделана 2021-06-18 04:02:41
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте