Реализация
«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, а также шейдеры.
Многие современные видеоигры используют деревья поведения, которые в принципе представляют собой семейство простых языков программирования, разработанных для моделирования поведения для персонажей, не являющихся игроками. Поведение моделируется в виде деревьев и часто редактируется в графических редакторах.
Системы / моделирование
- Analytica, коммерческий визуальный язык для моделей принятия решений, основанный на диаграммах влияния.
- BPEL (язык выполнения бизнес-процессов), в настоящее время на основе графического интерфейса пользователя Язык программирования, используемый для создания логики оркестровки для данных и веб-сервисов. Он основан на XML, но имеет графический интерфейс для более быстрого кодирования.
- DRAKON, графический алгоритмический язык
- EICASLAB, программный пакет, включающий графический язык для поддержки проектирования архитектур управления
- Flowcode - это графический язык программирования для программирования встроенных микропроцессоров
- схем функциональных блоков, используемых в программируемых логических контроллерах
- GNU Radio, инструментарии разработки, который предоставляет блоки обработки сигналов для реализации программно-определяемых радиостанций и систем обработки сигналов
- KNIME, Konstanz Information Miner, представляет собой платформу анализа данных, отчетности и интеграции с открытым исходным кодом
- LabVIEW, графический язык, разработанный для инженеров и ученых
- лестничная логика, язык, имитирующий релейную логику, обычно используемую в программируемых логических контроллерах
- MeVisLab, кроссплатформенной прикладной структуре для обработка медицинских изображений и научная визуализация на
- Microsoft Visual Programming Language, языке потока данных для программирования робототехники, который является компонентом Microsoft Robotics Studio
- MindRover, игры для программирования роботов, включающей поток данных » wiring "язык
- Minibloq, язык визуального программирования для робототехники и Arduino совместимых плат
- MST Workshop, интерактивный язык визуального программирования для создания математических решений, быстрое прототипирование, двухмерные и трехмерные графические приложения
- Node-RED : набор инструментов для быстрой разработки программных систем
- NXT-G, язык визуального программирования для Lego Mindstorms NXT комплект робототехники
- OpenDX визуализация научных данных с использованием языка визуального программирования и модели потока данных
- OpenWire - добавляет возможности программирования визуального потока данных в Delphi через Visual Компоненты библиотеки компонентов (VCL) и графический редактор (одноименный бинарный протокол не связан)
- Orange - с открытым исходным кодом, инструмент визуального программирования для интеллектуального анализа данных, статистического анализа данных и машинного обучения
- Язык OutSystems, язык визуального моделирования для разработки и изменения всех уровней бизнес-ориентированных веб-приложений
- Prograph - язык объектно-ориентированного программирования, который использует пиктограммы для представления действий, которые необходимо выполнить. взято на основе данных
- Ptolemy Project - проект, направленный на моделирование и проектирование в реальном времени встроенных систем.
- Графический интерфейс Qucs для настройки моделирования сигнала электронной схемы и шумовое поведение
- Reallusion - iClone, трехмерное программное обеспечение с языком Lua и визуальным программированием
- ROBO Pro, язык визуального программирования для fischertechnik комплект робототехники
- Scicos Графический язык, связанный с пакетом численного анализа ScicosLab (первоначально SciLab )
- Sequential function chart, программа, подобная сети Петри язык программирования для программируемых логических контроллеров
- Simulink, графическая среда программирования для моделирования, моделирования и анализа многодоменных динамических систем
- Stateflow, графический язык, который включает в себя исполняемые диаграммы перехода состояний, блок-схемы, таблицы переходов состояний и таблицы истинности
- STELLA, VPL для моделирования системной динамики
- Softimage ICE, система на основе узлов, которая используется для создания и изменения 3D-моделей, моделировать частицы и выполнять различные другие задачи
- VEE
- VisSim, язык моделирования и симуляции, позволяет быстро создавать математические модели и выполнять их в режиме реального времени
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
Визуальные стили
- DRAKON (Dragon), SDL - и AADL - интерактивный визуальный язык программирования 2D, разработанный для разработки бортовой системы программного обеспечения жесткого реального времени для автоматического полета и посадки советского / российского космического корабля «Буран» («Метель»)
- Исполняемый UML, профиль спецификации Universal Modeling Language, определяющий семантику исполняемых файлов для подмножества UML
- Блок-схема
- Подтекст
См. Также
Ссылки
- Эта статья изначально была основана на материалах из Free On-line Dictionary of Computing, использованного с разрешения. Обновите при необходимости.
Внешние ссылки