
In
computing
Computing is any goal-oriented activity requiring, benefiting from, or creating computing machinery. It includes the study and experimentation of algorithmic processes, and development of both hardware and software. Computing has scientific, ...
, a visual programming language (visual programming system, VPL, or, VPS) is any
programming language
A programming language is a system of notation for writing computer programs. Most programming languages are text-based formal languages, but they may also be graphical. They are a kind of computer language.
The description of a programming l ...
that lets users create
programs
Program, programme, programmer, or programming may refer to:
Business and management
* Program management, the process of managing several related projects
* Time management
* Program, a part of planning
Arts and entertainment Audio
* Programm ...
by manipulating program elements ''graphically'' rather than by specifying them ''textually''. A VPL allows programming with visual expressions, spatial arrangements of text and graphic symbols, used either as elements of
syntax or
secondary notation. For example, many VPLs (known as ''dataflow'' or ''diagrammatic programming'') are based on the idea of "boxes and arrows", where boxes or other screen objects are treated as entities, connected by arrows, lines or arcs which represent relations.
Definition
VPLs may be further classified, according to the type and extent of visual expression used, into icon-based languages, form-based languages, and diagram languages. Visual programming environments provide graphical or iconic elements which can be manipulated by users in an interactive way according to some specific spatial grammar for program construction.
The general goal of VPLs is to make programming more accessible to novices and to support programmers at three different levels
* ''Syntax'': VPLs use icons/blocks, forms and diagrams trying to reduce or even eliminate the potential of syntactic errors helping with the arrangement of programming primitives to create well-formed programs.
* ''Semantics'': VPLs may provide some mechanisms to disclose the meaning of programming primitives. This could include help functions providing documentation functions built-in to programming languages.
* ''Pragmatics'': VPLs support the study of what programs mean in particular situations. This level of support allows users to put artifacts created with a VPL into a certain state in order to explore how the program will react to that state. Examples: In
AgentSheets
AgentSheets was one of the first modern block-based programming language for kids. The idea of AgentSheets was to overcome syntactic challenges found in common text-based programming languages by using drag and drop mechanisms conceptualizing com ...
or
AgentCubes users can set games or simulations into a particular state in order to see how program would react. With the
Thymio programming language users can bring a robot into a certain state in order to see how it will react, i.e., which sensors will be activated.
Current developments try to integrate the visual programming approach with
dataflow programming
In computer programming, dataflow programming is a programming paradigm that models a program as a directed graph of the data flowing between operations, thus implementing dataflow principles and architecture. Dataflow programming languages share ...
languages to either have immediate access to the
program state
In information technology and computer science, a system is described as stateful if it is designed to remember preceding events or user interactions; the remembered information is called the state of the system.
The set of states a system can oc ...
, resulting in online debugging, or automatic program generation and documentation. Dataflow languages also allow
automatic parallelization
Automatic may refer to:
Music Bands
* Automatic (band), Australian rock band
* Automatic (American band), American rock band
* The Automatic, a Welsh alternative rock band
Albums
* ''Automatic'' (Jack Bruce album), a 1983 electronic rock ...
, which is likely to become one of the greatest programming challenges of the future.
The
Visual Basic Visual Basic is a name for a family of programming languages from Microsoft. It may refer to:
* Visual Basic .NET (now simply referred to as "Visual Basic"), the current version of Visual Basic launched in 2002 which runs on .NET
* Visual Basic (c ...
,
Visual C#,
Visual J# etc. languages of the
Microsoft Visual Studio
Visual Studio is an integrated development environment (IDE) from Microsoft. It is used to develop computer programs including web site, websites, web apps, web services and mobile apps. Visual Studio uses Microsoft software development platfor ...
IDE are not visual programming languages: the representation of algorithms etc. is textual even though the IDE embellishes the editing and debugging activities with a rich user interface. A similar consideration applies to most other
rapid application development
Rapid application development (RAD), also called rapid application building (RAB), is both a general term for adaptive software development approaches, and the name for James Martin's method of rapid development. In general, RAD approaches to ...
environments which typically support a
form designer
A graphical user interface builder (or GUI builder), also known as GUI designer or sometimes RAD IDE, is a software development tool that simplifies the creation of GUIs by allowing the designer to arrange graphical control elements (often calle ...
and sometimes also have graphical tools to illustrate (but not define) control flow and data dependencies.
Parser
Parsing, syntax analysis, or syntactic analysis is the process of analyzing a string of symbols, either in natural language, computer languages or data structures, conforming to the rules of a formal grammar. The term ''parsing'' comes from Lati ...
s for visual programming languages can be implemented using
graph grammar
In computer science, graph transformation, or graph rewriting, concerns the technique of creating a new graph (discrete mathematics), graph out of an original graph algorithmically. It has numerous applications, ranging from software engineering (s ...
s.
List of visual languages
The following contains a list of notable visual programming languages.
Educational
*
AgentCubes, 3D and 2D game design and simulation design computational thinking tools.
*
AgentSheets
AgentSheets was one of the first modern block-based programming language for kids. The idea of AgentSheets was to overcome syntactic challenges found in common text-based programming languages by using drag and drop mechanisms conceptualizing com ...
, game authoring and computational science authoring tool.
*
Alice
Alice may refer to:
* Alice (name), most often a feminine given name, but also used as a surname
Literature
* Alice (''Alice's Adventures in Wonderland''), a character in books by Lewis Carroll
* ''Alice'' series, children's and teen books by ...
, an object based language used to program 3D environments.
*
Analytica, for building and analyzing quantitative models for decision and risk analysis.
*
App Inventor for Android
MIT App Inventor is a web application integrated development environment originally provided by Google, and now maintained by the Massachusetts Institute of Technology (MIT). It allows newcomers to computer programming to create application soft ...
, a tool for creating
Android applications, based on
Blockly
Blockly is a client-side library for the programming language JavaScript for creating block-based visual programming languages (VPLs) and editors. A project of Google, it is free and open-source software released under the Apache License 2.0. It ...
and
Kawa.
*
Blockly
Blockly is a client-side library for the programming language JavaScript for creating block-based visual programming languages (VPLs) and editors. A project of Google, it is free and open-source software released under the Apache License 2.0. It ...
, a client-side library for the programming language
JavaScript
JavaScript (), often abbreviated as JS, is a programming language that is one of the core technologies of the World Wide Web, alongside HTML and CSS. As of 2022, 98% of Website, websites use JavaScript on the Client (computing), client side ...
for creating block-based visual programming languages (VPLs) and editors
*
Bubble, for creating production-ready
web application
A web application (or web app) is application software that is accessed using a web browser. Web applications are delivered on the World Wide Web to users with an active network connection.
History
In earlier computing models like client-serve ...
s.
*
Catrobat, block-based visual programming language for animations, apps and games
*
Flowgorithm, creates executable flowcharts which can be converted to several languages.
*
Hopscotch
Hopscotch is a popular playground game in which players toss a small object, called a lagger, into numbered triangles or a pattern of rectangles outlined on the ground and then hop or jump through the spaces and retrieve the object. It is a chi ...
, an
iPad
The iPad is a brand of iOS and iPadOS-based tablet computers that are developed by Apple Inc. The iPad was conceived before the related iPhone but the iPhone was developed and released first. Speculation about the development, operati ...
app, and visual programming language for creating touchscreen-oriented mobile applications.
*
Kodu, a visual programming tool for
Logo
A logo (abbreviation of logotype; ) is a graphic mark, emblem, or symbol used to aid and promote public identification and recognition. It may be of an abstract or figurative design or include the text of the name it represents as in a wordm ...
.
*
Kojo, a programming language,
IDE, and learning environment.
*
mBlock
Makeblock is a private Chinese technology company headquartered in Shenzhen, China. It develops Arduino-based hardware, robotics hardware, and Scratch-based software for the purpose of providing educational tools for learning. This includes ...
, an extension of Scratch for
Arduino
Arduino () is an open-source hardware and software company, project, and user community that designs and manufactures single-board microcontrollers and microcontroller kits for building digital devices. Its hardware products are licensed und ...
hardware interfaces. Developed by
Makeblock
Makeblock is a private Chinese technology company headquartered in Shenzhen, China. It develops Arduino-based hardware, robotics hardware, and Scratch-based software for the purpose of providing educational tools for learning. This includes ...
.
*
Open Roberta
Open Roberta is a project within the German education initiative "Roberta—Learning with robots", initiated by Fraunhofer IAIS, which is an institute belonging to the Fraunhofer Society. With Open Roberta Fraunhofer IAIS is looking to encourag ...
, online programming environment from
Fraunhofer IAIS
Fraunhofer may refer to:
* Joseph von Fraunhofer (1787–1826), German physicist
*Fraunhofer (crater), a lunar crater
*Fraunhofer Society (Fraunhofer-Gesellschaft), a large German research organization
*Fraunhofer diffraction, far-field diffractio ...
, designed for children.
*
Raptor, a product of the
USAF
The United States Air Force (USAF) is the Aerial warfare, air military branch, service branch of the United States Armed Forces, and is one of the eight uniformed services of the United States. Originally created on 1 August 1907, as a part ...
, for drawing executable flowcharts.
*
Scratch, a product of
MIT
The Massachusetts Institute of Technology (MIT) is a private land-grant research university in Cambridge, Massachusetts. Established in 1861, MIT has played a key role in the development of modern technology and science, and is one of the ...
, designed for children in K-12 and after-school programs.
*
ScratchJr
ScratchJr is a visual programming language designed to introduce programming skills to children ages 5–7. The app is considered an introductory programming language. It is available as a free app for iOS, Android and Chromebook.
ScratchJr is a ...
, an interpretation of Scratch designed primarily for younger audiences (5-7-year-old children).
*
Snap!
Snap! is a German Eurodance group formed in 1989 by producers Michael Münzing and Luca Anzilotti. The act has been through a number of line-up changes over the years, including American singers, songwriters and rappers Thea Austin, Turbo B, N ...
, a browser-based reimplementation of
BYOB
BYOB or BYO is an initialism and acronym concerning alcohol that means "bring your own bottle" or "bring your own booze" or "bring your own beer".
BYOB is stated on an invitation to indicate that the host will not be providing alcohol and that gu ...
, and extension of
Scratch, with first class procedures and lists. Used for teaching at
UC Berkeley
The University of California, Berkeley (UC Berkeley, Berkeley, Cal, or California) is a public university, public land-grant university, land-grant research university in Berkeley, California. Established in 1868 as the University of Californi ...
.
*
Stagecast Creator, a Java-based teaching system.
*
StarLogo, an
agent-based simulation language
A computer simulation language is used to describe the operation of a simulation on a computer.Fritzson, Peter, and Vadim Engelson.Modelica—A unified object-oriented language for system modeling and simulation" European Conference on Object-Orie ...
developed by
Mitchel Resnick
Mitchel Resnick (born June 12, 1956) is Lego Papert Professor of Learning Research, Director of the Okawa Center, and Director of the Lifelong Kindergarten group at the Massachusetts Institute of Technology (MIT) Media Lab. , Resnick serves as h ...
,
Eric Klopfer, and others at
MIT Media Lab
The MIT Media Lab is a research laboratory at the Massachusetts Institute of Technology, growing out of MIT's Architecture Machine Group in the School of Architecture. Its research does not restrict to fixed academic disciplines, but draws from ...
. An extension of the
Logo
A logo (abbreviation of logotype; ) is a graphic mark, emblem, or symbol used to aid and promote public identification and recognition. It may be of an abstract or figurative design or include the text of the name it represents as in a wordm ...
programming language
A programming language is a system of notation for writing computer programs. Most programming languages are text-based formal languages, but they may also be graphical. They are a kind of computer language.
The description of a programming l ...
(a
dialect
The term dialect (from Latin , , from the Ancient Greek word , 'discourse', from , 'through' and , 'I speak') can refer to either of two distinctly different types of linguistic phenomena:
One usage refers to a variety of a language that ...
of
Lisp
A lisp is a speech impairment in which a person misarticulates sibilants (, , , , , , , ). These misarticulations often result in unclear speech.
Types
* A frontal lisp occurs when the tongue is placed anterior to the target. Interdental lispi ...
).
*
ToonTalk, programming system for children.
*
Visual Logic, for creating executable flowcharts.
*
VIPLE Visual IoT/Robotics Programming Language Environment
Multimedia
*
AudioMulch, an audio signal flow based sound and music creation environment
*
Bidule
Bidule is a commercial software application for the creation of interactive computer music and multimedia produced by the Canadian company Plogue Arts and Technology. It runs on both Windows and Mac computers.
Bidule uses a modular struct ...
, a modular node and patch cord environment for the creation of interactive computer music and multimedia (Windows, MacOS).
*
Blender (software), the
open source
Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized sof ...
3D graphics
3D computer graphics, or “3D graphics,” sometimes called CGI, 3D-CGI or three-dimensional computer graphics are graphics that use a three-dimensional representation of geometric data (often Cartesian) that is stored in the computer for th ...
package, includes
node graphs for building
shader
In computer graphics, a shader is a computer program that calculates the appropriate levels of light, darkness, and color during the rendering of a 3D scene - a process known as '' shading''. Shaders have evolved to perform a variety of spec ...
s,
composites and
textures,
non-destructive geometry.
*
Cameleon, graphical functional language
*
Clickteam
Clickteam is a French software development company based in Boulogne-Billancourt, Hauts-de-Seine. Founded by Francis Poulain, François Lionet and Yves Lamoureux, Clickteam is best known for the creation of Clickteam Fusion, a script-free pro ...
's The games factory/Multimedia fusion series, environments made for visually developing games
*
Dynamo
"Dynamo Electric Machine" (end view, partly section, )
A dynamo is an electrical generator that creates direct current using a commutator. Dynamos were the first electrical generators capable of delivering power for industry, and the foundat ...
, a generative modeling interface for
Autodesk Revit
Autodesk Revit is a building information modelling software tool for architects, landscape architects, structural engineers, mechanical, electrical, and plumbing (MEP) engineers, designers and contractors. The original software was developed by ...
*
Filter Forge Node based filter generation for image processing.
*
Houdini (software)
Houdini is a 3D animation software application developed by Toronto-based SideFX, who adapted it from the PRISMS suite of procedural generation software tools. The procedural tools are used to produce different effects such as complex reflectio ...
vfx, modeling and animation software.
*
GenerativeComponents, a parametric CAD software developed by
Bentley Systems
Bentley Systems, Incorporated is an American-based software development company that develops, manufactures, licenses, sells and supports computer software and services for the design, construction, and operation of infrastructure. The company's ...
*
Grasshopper 3d, a generative modeling interface for
Rhinoceros 3D
Rhinoceros (typically abbreviated Rhino or Rhino3D) is a commercial 3D computer graphics and computer-aided design (CAD) application software that was developed by Robert McNeel & Associates, an American, privately held, and employee-owned com ...
*
Isadora
Isidora or Isadora is a female given name of Greek origin, derived from Ἰσίδωρος, ''Isídōros'' (a compound of Ἶσις, ''Ísis'', and δῶρον, ''dōron'': "gift of he goddessIsis").
The male equivalent is Isidore.
The name sur ...
, a
proprietary graphic programming environment for
Mac OS X
macOS (; previously OS X and originally Mac OS X) is a Unix operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac computers. Within the market of desktop and lapt ...
and
Microsoft Windows, with emphasis on real-time manipulation of digital video.
*
Kyma (sound design language)
Kyma is a visual programming language for sound design used by musicians, researchers, and sound designers. In Kyma, a user programs a multiprocessor DSP by graphically connecting modules on the screen of a Macintosh or Windows computer.
Backgroun ...
, a visual programming language for sound design used by musicians, researchers, and sound designers.
*
Mama (software) – a programming language and IDE for building 3D animations and games
*
Max (software)
Max, also known as Max/MSP/Jitter, is a visual programming language for music and multimedia developed and maintained by San Francisco-based software company Cycling '74. Over its more than thirty-year history, it has been used by composers, pe ...
, visual programming environment for building interactive, real-time music and multimedia applications
**
Max/MSP
Max, also known as Max/MSP/Jitter, is a visual programming language for music and multimedia developed and maintained by San Francisco-based software company Cycling '74. Over its more than thirty-year history, it has been used by composers, pe ...
**
Pure Data
Pure Data (Pd) is a visual programming language developed by Miller Puckette in the 1990s for creating interactive computer music and multimedia works. While Puckette is the main author of the program, Pd is an open-source software, open-source ...
**
nato.0+55+3d
*
Nodal, a node-based generative programming software application for music composition
*
Nuke, an object-based visual programming software for
visual effects
Visual effects (sometimes abbreviated VFX) is the process by which imagery is created or manipulated outside the context of
a live-action shot in filmmaking and video production.
The integration of live-action footage and other live-action foota ...
compositing
Compositing is the process or technique of combining visual elements from separate sources into single images, often to create the illusion that all those elements are parts of the same scene. Live-action shooting for compositing is variously c ...
by
The Foundry powered by Tcl, Python and Blink-script.
*
OpenMusic
OpenMusic (OM) is an object-oriented visual programming environment for musical composition based on Common Lisp.
It may also be used as an all-purpose visual interface to Lisp programming. At a more specialized level, a set of provided classes ...
, a visual programming language for music composition (based on
Common Lisp Object System
The Common Lisp Object System (CLOS) is the facility for object-oriented programming which is part of ANSI Common Lisp. CLOS is a powerful dynamic object system which differs radically from the OOP facilities found in more static languages such a ...
(CLOS)) applications, and mobile applications
*
Pure Data
Pure Data (Pd) is a visual programming language developed by Miller Puckette in the 1990s for creating interactive computer music and multimedia works. While Puckette is the main author of the program, Pd is an open-source software, open-source ...
(Pd) is a visual programming language developed for creating interactive computer music and multimedia works.
*
Quartz Composer
Quartz Composer is a node-based visual programming language provided as part of the Xcode development environment in macOS for processing and rendering graphical data.
Quartz Composer uses OpenGL (including GLSL), OpenCL (only in Mac OS X Sn ...
, a language for processing and rendering graphical data ()
*
Reaktor
Reaktor is a graphical modular software music studio developed by Native Instruments (NI). It allows musicians and sound specialists to design and build their own instruments, samplers, effects and sound design tools. It is supplied with many ...
, a DSP and MIDI-processing language by
Native Instruments
Native Instruments is a German company that develops, manufactures, and supplies music software and hardware for music production, sound design, performance, and DJing. The company's corporate headquarters and main development facilities are lo ...
*
Scala Multimedia
Scala is a producer of multimedia software. It was founded in 1987 as a Norwegian company called Digital Visjon. It is headquartered near Philadelphia, Pennsylvania, USA, and has subsidiaries in Europe and Asia.
History
In 1987 a young Norwe ...
Authoring suite and complete multimedia system for AmigaOS and Windows
*
Softimage
Autodesk Softimage, or simply Softimage () was a 3D computer graphics application, for producing 3D computer graphics, 3D modeling, and computer animation. Now owned by Autodesk and formerly titled Softimage, XSI, the software has been predomina ...
, with ICE Interactive Creative Environment.
*
SynthEdit, a Synthesizer construction tool using a VPL.
*
TouchDesigner, visual programming language for real-time multimedia content
*
Virtools, a middleware used to create interactive 3D experiences
*
vvvv, a general purpose toolkit with a special focus on real-time video synthesis and programming large media environments with physical interfaces, real-time motion graphics, audio and video.
*
WireFusion, visual programming environment for creating interactive 3D web presentations
Video games
*
Babylon.js has a node material editor that can be used to build shaders, procedural textures, particle systems and post processing effects.
*
Blender Game Engine (Graphical logic editor)
*
Clickteam Fusion, a 2D game creation software with event editor system, developed by Clickteam SARL, originally known as Klik n' Play, The Games Factory and Multimedia Fusion 2
*
Construct 2-3 are HTML5-based 2D game editors, developed by Scirra Ltd.
**
Construct Classic is the previous, DirectX-based open-sourced version of Construct.
*
CryEngine
CryEngine (stylized as CRYENGINE) is a game engine designed by the German game developer Crytek. It has been used in all of their titles with the initial version being used in '' Far Cry'', and continues to be updated to support new consoles and ...
has a node-based visual programming language called FlowGraph.
*
Dreams
A dream is a succession of images, ideas, emotions, and sensations that usually occur involuntarily in the mind during certain stages of sleep. Humans spend about two hours dreaming per night, and each dream lasts around 5 to 20 minutes, althou ...
, which runs on PlayStation, has an extensive visual language to allow players to create any kind of game
*
Game Builder Garage, a 3D and 2D game creation tool for the
Nintendo Switch
The is a hybrid video game console developed by Nintendo and released worldwide in most regions on March 3, 2017. The console itself is a tablet that can either be docked for use as a home console or used as a portable device, making it a ...
, developed by
Nintendo.
*
GameMaker Studio
GameMaker (originally Animo, Game Maker ''(until 2011)'' and GameMaker Studio) is a series of cross-platform game engines created by Mark Overmars in 1999 and developed by YoYo Games since 2007. The latest iteration of ''GameMaker'' released ...
, has a drag and drop game creation system developed by YoYo Games.
*
GameSalad
GameSalad Creator is an authoring tool developed by GameSalad used by educators and non-programmers alike. It consists of a visual editor and a behavior-based logic system. GameSalad is used in over 223 schools for teaching computer science concep ...
is a visual game creation tool developed by GameSalad, Inc.
*
GDevelop
GDevelop is a 2D cross-platform, free and open-source game engine, which mainly focuses on creating PC and Mobile games, as well as HTML5 games playable in the browser. Created by Florian Rival; a software engineer at Google, GDevelop is mainly a ...
is a visual game creation tool created by Florian Rival (4ian).
*
Godot game engine allows game scripts and graphics shaders to be built using node-graph visual programming languages.
*
Human Resource Machine is a visual programming-based puzzle game developed by
Tomorrow Corporation.
*
Kodu, a software designed to program games with a 3D Interface developed by Microsoft Research.
*
Pixel Game Maker MV is an interface-based 2D video game development tool.
*
Rec Room
A recreation room (also known as a rec room, rumpus room, play room, playroom, games room, or ruckus room) is a room used for a variety of purposes, such as parties, games and other everyday or casual activities. The term ''recreation room'' is ...
includes a game creation system with a node-based visual programming language called Circuits.
*
Snowdrop
''Galanthus'' (from Ancient Greek , (, "milk") + (, "flower")), or snowdrop, is a small genus of approximately 20 species of bulbous perennial herbaceous plants in the family Amaryllidaceae. The plants have two linear leaves and a single ...
has a visual scripting system.
*
Stencyl
Stencyl is a video game development tool that allows users to create 2D video games for computers, mobile devices, and the web. The software is available for free, with select publishing options available for purchase. The software was originally ...
, a video game creation tool.
*
Unity
Unity may refer to:
Buildings
* Unity Building, Oregon, Illinois, US; a historic building
* Unity Building (Chicago), Illinois, US; a skyscraper
* Unity Buildings, Liverpool, UK; two buildings in England
* Unity Chapel, Wyoming, Wisconsin, US; a ...
has a visual scripting system as of the ECS release.
*
Unreal Engine 4
Unreal Engine (UE) is a 3D computer graphics game engine developed by Epic Games, first showcased in the 1998 first-person shooter game ''Unreal (1998 video game), Unreal''. Initially developed for Personal computer, PC first-person shooters, i ...
has a node-based visual programming language called Blueprints, and also shaders.
Many modern video games make use of
behavior trees, which are in principle a family of simple programming languages designed to
model behaviors for
non-player character
A non-player character (NPC), or non-playable character, is any character in a game that is not controlled by a player. The term originated in traditional tabletop role-playing games where it applies to characters controlled by the gamemaster ...
s. The behaviors are modeled as trees, and are often edited in graphical editors.
Systems / simulation
*
Analytica, a commercial visual language for decision models based on
influence diagrams
Influence or influencer may refer to:
*Social influence, in social psychology, influence in interpersonal relationships
** Minority influence, when the minority affect the behavior or beliefs of the majority
*Influencer marketing, through individ ...
.
*
BPEL (Business Process Execution Language), currently a Graphical user based Programming Language used to create orchestration logic for data and web services. It is based on XML, but has a graphical interface for faster coding.
*
DRAKON
DRAKON is a free and open source algorithmic visual programming and modeling language developed within the Buran space project following ergonomic design principles. The language provides a uniform way to represent flowcharts of any c ...
, a graphical algorithmic language
*
EICASLAB
EICASLAB is a software suite providing a laboratory for automatic control design and time-series forecasting developed as final output of the European ACODUASIS Project IPS-2001-42068 funded by the European Community within the Innovation Program ...
, a software suite including a graphical language for supporting the design of control architectures
*
Flowcode is a graphical programming language to program
embedded microprocessors
*
Function block diagram
The Function Block Diagram (FBD) is a graphical language for programmable logic controller design, that can describe the function between input variables and output variables. A function is described as a set of elementary blocks. Input and out ...
s, used in
programmable logic controllers
*
GNU Radio, a development toolkit which provides signal-processing blocks to implement software-defined-radios and signal-processing systems
*
KNIME
KNIME (), the Konstanz Information Miner, is a free and open-source data analytics, reporting and integration platform. KNIME integrates various components for machine learning and data mining through its modular data pipelining "Building Blocks ...
, the Konstanz Information Miner, is an open source data analytics, reporting and integration platform
*
LabVIEW
Laboratory Virtual Instrument Engineering Workbench (LabVIEW) is a system-design platform and development environment for a visual programming language from National Instruments.
The graphical language is named "G"; not to be confused with G- ...
, a graphical language designed for engineers and scientists
*
Ladder logic
Ladder logic was originally a written method to document the design and construction of relay racks as used in manufacturing and process control. Each device in the relay rack would be represented by a symbol on the ladder diagram with connecti ...
, a language that simulates relay logic commonly used in
programmable logic controllers
*
MeVisLab, cross-platform
application framework
In computer programming, an application framework consists of a software framework used by software developers to implement the standard structure of application software.
Application frameworks became popular with the rise of graphical user inter ...
for
medical image processing and
scientific visualization
Scientific visualization ( also spelled scientific visualisation) is an interdisciplinary branch of science concerned with the visualization of scientific phenomena. Michael Friendly (2008)"Milestones in the history of thematic cartography, st ...
*
Microsoft Visual Programming Language, dataflow language for
robotics
Robotics is an interdisciplinarity, interdisciplinary branch of computer science and engineering. Robotics involves design, construction, operation, and use of robots. The goal of robotics is to design machines that can help and assist human ...
programming that is a component of
Microsoft Robotics Studio
*
MindRover, a robot programming game incorporating a dataflow "wiring" language
*
Minibloq
Minibloq is a graphical development environment for Arduino and other platforms. Its main objective is to help in teaching programming. It is specially used in robotics at elementary, middle and high schools. It's widely used in Argentina, where j ...
, visual programming language for
robotics
Robotics is an interdisciplinarity, interdisciplinary branch of computer science and engineering. Robotics involves design, construction, operation, and use of robots. The goal of robotics is to design machines that can help and assist human ...
and
Arduino
Arduino () is an open-source hardware and software company, project, and user community that designs and manufactures single-board microcontrollers and microcontroller kits for building digital devices. Its hardware products are licensed und ...
compatible boards
*
MST Workshop The MST Workshop (short for Math Science and Technology Workshop) is an interactive computer programming language. It has hundreds of components that can be dragged on to the workspace and connected by wires or snapping them together. The workspac ...
, an interactive visual programming language for creating mathematical solutions, rapid prototyping, two-dimensional and three-dimensional graphic applications
*
Node-RED
Node-RED is a flow-based development tool for visual programming developed originally by IBM for wiring together hardware devices, APIs and online services as part of the Internet of Things.
Node-RED provides a web browser-based flow editor, wh ...
: software system rapid development toolkit
*
NXT-G, a visual programming language for the
Lego Mindstorms NXT
Lego Mindstorms NXT is a programmable robotics kit released by Lego on August 2, 2006.
It replaced the first-generation Lego Mindstorms kit, which was called the Robotics Invention System. The base kit ships in two versions: the Retail Versio ...
robotics kit
*
OpenDX
OpenDX stands for Open Data Explorer and is IBM's scientific data visualization software. It can handle complex domains (such as a mechanical gear or a human brain) along with measured or computed data. The data may be scalar (such as the co ...
scientific data visualization using a visual programming language and data flow model
*
OpenWire - adds visual dataflow programming abilities to
Delphi
Delphi (; ), in legend previously called Pytho (Πυθώ), in ancient times was a sacred precinct that served as the seat of Pythia, the major oracle who was consulted about important decisions throughout the ancient classical world. The oracl ...
via
Visual Component Library
The Visual Component Library (VCL) is a visual component-based object-oriented framework for developing the user interface of Microsoft Windows applications. It is written in Object Pascal.
History
The VCL was developed by Borland for u ...
(VCL) components and a graphical editor (homonymous
binary protocol is unrelated)
*
Orange
Orange most often refers to:
*Orange (fruit), the fruit of the tree species '' Citrus'' × ''sinensis''
** Orange blossom, its fragrant flower
* Orange (colour), from the color of an orange, occurs between red and yellow in the visible spectrum ...
- An
open-source
Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized sof ...
, visual programming tool for
data mining, statistical
data analysis
Data analysis is a process of inspecting, cleansing, transforming, and modeling data with the goal of discovering useful information, informing conclusions, and supporting decision-making. Data analysis has multiple facets and approaches, en ...
, and
machine learning
Machine learning (ML) is a field of inquiry devoted to understanding and building methods that 'learn', that is, methods that leverage data to improve performance on some set of tasks. It is seen as a part of artificial intelligence.
Machine ...
*
OutSystems language, a visual modeling language to develop and change all layers of business centric web applications
*
Prograph - an
object-oriented programming
Object-oriented programming (OOP) is a programming paradigm based on the concept of " objects", which can contain data and code. The data is in the form of fields (often known as attributes or ''properties''), and the code is in the form of ...
language that uses iconic symbols to represent actions to be taken on data
*
Ptolemy Project - a project aimed at modeling and designing
real-time
Real-time or real time describes various operations in computing or other processes that must guarantee response times within a specified time (deadline), usually a relatively short time. A real-time process is generally one that happens in defined ...
embedded system
An embedded system is a computer system—a combination of a computer processor, computer memory, and input/output peripheral devices—that has a dedicated function within a larger mechanical or electronic system. It is ''embedded'' ...
s.
*
Qucs
Quite Universal Circuit Simulator (Qucs) is a free-software electronics circuit simulator Electronic circuit simulation uses mathematical models to replicate the behavior of an actual electronic device or circuit.
Simulation software allows for ...
graphical interface to set up simulation of electronic circuit signal and noise behavior
*
Reallusion -
iClone, a 3D software with Lua language and visual programing design
*
ROBO Pro, a visual programming language for the
fischertechnik
Fischertechnik is a brand of construction toy. It was invented by Artur Fischer and is produced by fischertechnik GmbH in Waldachtal, Germany. Fans often refer to Fischertechnik as "FT" or "ft".
It is used in education for teaching about sim ...
robotics kit
*
Scicos A graphical language associated with the numerical analysis package
ScicosLab (originally
SciLab
Scilab is a free and open-source, cross-platform numerical computational package and a high-level, numerically oriented programming language. It can be used for signal processing, statistical analysis, image enhancement, fluid dynamics simula ...
)
*
Sequential function chart Sequential function chart (SFC) is a visual programming language used for programmable logic controllers (PLCs). It is one of the five languages defined by IEC 61131-3 standard. The SFC standard is defined as ''Preparation of function charts for co ...
, a Petri-net like programming language for
programmable logic controllers
*
Simcenter Amesim
Simcenter Amesim is a commercial simulation software for the modeling and analysis of multi-domain systems. It is part of systems engineering domain and falls into the mechatronic engineering field.
The software package is a suite of tools used to ...
, graphical programming environment for modeling, simulating and analyzing multidomain dynamical systems
*
Simulink
Simulink is a MATLAB-based graphical programming environment for modeling, simulating and analyzing multidomain dynamical systems. Its primary interface is a graphical block diagramming tool and a customizable set of block libraries. It offers t ...
, graphical programming environment for modeling, simulating and analyzing multidomain dynamical systems
*
Stateflow, a graphical language that includes executable state transition diagrams, flow charts, state transition tables, and truth tables
*
STELLA, a VPL for system dynamics modeling
*
Softimage ICE, a node-based system that is used to create and modify
3D models
In 3D computer graphics, 3D modeling is the process of developing a mathematical coordinate-based representation of any surface of an object (inanimate or living) in three dimensions via specialized software by manipulating edges, vertices, a ...
, simulate particles and perform various other tasks
*
VEE is a powerful graphical programming environment for automated test, measurement and advanced analysis used in Test Engineering.
*
VisSim, modeling and simulation language, allows making mathematical models quickly and executing them in real-time
Automation
*
Automator
*
CiMPLE
CiMPLE is a visual programming language that tries to visually mimic procedural languages like C (programming language), C/C++.
Created by robo.in, a venture by Indian Institute of Technology Bombay alumni, using C++ on a Qt (framework), Qt 4.+ c ...
, Visual Programming Language by ThinkLABs for teaching robotics
*
Flow a graphical integration language used in the
webMethods platform
*
Pipeline Pilot is a scientific visual and dataflow programming language, and the authoring tool for
the Accelrys Enterprise Platform.
Data warehousing / business intelligence
*
Ab Initio
''Ab initio'' ( ) is a Latin term meaning "from the beginning" and is derived from the Latin ''ab'' ("from") + ''initio'', ablative singular of ''initium'' ("beginning").
Etymology
Circa 1600, from Latin, literally "from the beginning", from a ...
, a tool for
ETL processing by creating graphs
*
Alteryx Designer, a tool for data processing and analytics incorporating
SQL, R, and Python.
*
Apache Nifi
Apache NiFi is a software project from the Apache Software Foundation designed to automate the flow of data between software systems. Leveraging the concept of extract, transform, load (ETL), it is based on the "''NiagaraFiles''" software prev ...
, software project to automate the flow of data between software systems.
*
IBM Cognos Business Intelligence
IBM Cognos Business Intelligence is a web-based integrated business intelligence suite by IBM. It provides a toolset for reporting, analytics, scorecarding, and monitoring of events and metrics. The software consists of several components des ...
, is an example for front-end programs in
Business Intelligence
Business intelligence (BI) comprises the strategies and technologies used by enterprises for the data analysis and management of business information. Common functions of business intelligence technologies include reporting, online analytical pr ...
applications, which are used to generate
SQL queries to run against
RDBMS
A relational database is a (most commonly digital) database based on the relational model of data, as proposed by E. F. Codd in 1970. A system used to maintain relational databases is a relational database management system (RDBMS). Many relatio ...
databases
*
IBM InfoSphere DataStage
IBM InfoSphere DataStage is an ETL tool and part of the IBM Information Platforms Solutions suite and IBM InfoSphere. It uses a graphical notation to construct data integration solutions and is available in various versions such as the Server Ed ...
, an ETL tool
*
Informatica Powercenter is an ETL tool to design mappings graphically for data load in Data Warehouse systems
*
Microsoft SQL Server Integration Services (SSIS), a platform for data integration and workflow applications
*
Pentaho Data Integration (PDI), formerly named Kettle, an open-source ETL tool
Miscellaneous
*
Kwikpoint Kwikpoint is an Alexandria, Virginia based company that develops visual language and icon translation tools designed to help users communicate without having to read written information or foreign languages. Kwikpoint's target markets include the m ...
, an isotype visual translator created by Alan Stillman
*
Lava
Lava is molten or partially molten rock ( magma) that has been expelled from the interior of a terrestrial planet (such as Earth) or a moon onto its surface. Lava may be erupted at a volcano or through a fracture in the crust, on land or ...
, an experimental object oriented
RAD
RAD or Rad may refer to:
People
* Robert Anthony Rad Dougall (born 1951), South African former racing driver
* Rad Hourani, Canadian fashion designer and artist
* Nickname of Leonardus Rad Kortenhorst (1886–1963), Dutch politician
* Radley ...
language
*
Limnor, a general purpose programming system. Limnor Studio is an IDE for rapid software development.
*
Morphic (software), makes it easier to build and edit graphical objects by direct manipulation and from within programs; the whole
Self (programming language)
is an object-oriented programming language based on the concept of '' prototypes''. Self began as a dialect of Smalltalk, being dynamically typed and using just-in-time compilation (JIT) as well as the prototype-based approach to objects: it was ...
programming environment is built using Morphic
*
Piet, an esoteric language, the program is an image whose pixels are the language's elements
*
PWCT, Free open source visual programming language for software development
*
Shortcuts, a visual scripting language developed by Apple for creating macros on
macOS
macOS (; previously OS X and originally Mac OS X) is a Unix operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac (computer), Mac computers. Within the market of ...
,
iOS
iOS (formerly iPhone OS) is a mobile operating system created and developed by Apple Inc. exclusively for its hardware. It is the operating system that powers many of the company's mobile devices, including the iPhone; the term also include ...
,
iPadOS
iPadOS is a mobile operating system developed by Apple Inc. for its iPad line of tablet computers. It is a rebranded variant of iOS, the operating system used by Apple's iPhones, renamed to reflect the diverging features of the two product ...
, and
watchOS
watchOS is the operating system of the Apple Watch, developed by Apple Inc. It is based on iOS, the operating system used by the iPhone, and has many similar features. It was released on April 24, 2015, along with the Apple Watch, the only ...
.
*
StreamBase Systems, StreamBase EventFlow is a visual programming language for processing streaming events
*
WebML, is a visual language for designing complex data-intensive Web applications that can be automatically generated
*
Yahoo! Pipes is a visual data-flow programming system to process web data
*
YAWL
A yawl is a type of boat. The term has several meanings. It can apply to the rig (or sailplan), to the hull type or to the use which the vessel is put.
As a rig, a yawl is a two masted, fore and aft rigged sailing vessel with the mizzen mast p ...
, graphical workflow language
Legacy
*
AppWare, also known as MicroBrew, icon based programming for
classic Mac OS
Mac OS (originally System Software; retronym: Classic Mac OS) is the series of operating systems developed for the Macintosh family of personal computers by Apple Computer from 1984 to 2001, starting with System 1 and ending with Mac OS 9. Th ...
and
Microsoft Windows
*
Macromedia Authorware
Adobe Authorware (previously Macromedia Authorware, originally Authorware) was an elearning authoring tool with its own interpreted, flowchart-based, graphical programming language. Authorware was used for creating interactive elearning programs ...
- flowchart based programming language
*
Helix
A helix () is a shape like a corkscrew or spiral staircase. It is a type of smooth space curve with tangent lines at a constant angle to a fixed axis. Helices are important in biology, as the DNA molecule is formed as two intertwined hel ...
and Double Helix, a pioneering database management system for the Apple Macintosh platform, created in 1983
*
Illumination Software Creator
Illumination Software Creator (Illumination) is a tool for visually designing and developing software, and a corresponding Visual programming language that is available for Microsoft Windows, Linux and Mac OS X. Software developed with Illumination ...
, a language and IDE for visually creating desktop and mobile software
*
ThingLab
ThingLab is a visual programming environment implemented in Smalltalk and designed at Xerox PARC
PARC (Palo Alto Research Center; formerly Xerox PARC) is a research and development company in Palo Alto, California. Founded in 1969 by Jacob E. ...
Visual styles
*
DRAKON (Dragon), a
SDL- and
AADL-influenced visual 2D programming language designed for developing the on-board hard real-time software system for automatic flight and landing of the Soviet/Russian
Buran (Snowstorm) orbiting spacecraft
*
Executable UML, a
profile of the
Universal Modeling Language
The Unified Modeling Language (UML) is a general-purpose, developmental modeling language in the field of software engineering that is intended to provide a standard way to visualize the design of a system.
The creation of UML was originally m ...
specification defining executable semantics for a subset of UML
*
Flowchart
A flowchart is a type of diagram that represents a workflow or process. A flowchart can also be defined as a diagrammatic representation of an algorithm, a step-by-step approach to solving a task.
The flowchart shows the steps as boxes of va ...
*
Subtext
Subtext is any content of a creative work, which is not announced explicitly (by characters or author), but is implicit, or becomes something understood by the audience. Subtext has been used historically to imply controversial subjects without ...
See also
*
Argument map
An argument map or argument diagram is a visual representation of the structure of an argument. An argument map typically includes the key components of the argument, traditionally called the '' conclusion'' and the ''premises'', also called ''con ...
*
Cognitive dimensions of notations
Cognitive dimensions or cognitive dimensions of notations are design principles for notations, user interfaces and programming languages, described by researcher Thomas R.G. Green and further researched with Marian Petre. The dimensions can be u ...
- Notation assessment for visual and non-visual languages
*
Concept map
A concept map or conceptual diagram is a diagram that depicts suggested relationships between concepts. Concept maps may be used by instructional designers, engineers, technical writers, and others to organize and structure knowledge.
A conc ...
*
Dataflow programming
In computer programming, dataflow programming is a programming paradigm that models a program as a directed graph of the data flowing between operations, thus implementing dataflow principles and architecture. Dataflow programming languages share ...
*
Deutsch limit
The Deutsch limit is an aphorism about the information density of visual programming languages originated by L. Peter Deutsch that states:
:The problem with visual programming is that you can’t have more than 50 visual primitives on the screen ...
, an
aphorism
An aphorism (from Greek ἀφορισμός: ''aphorismos'', denoting 'delimitation', 'distinction', and 'definition') is a concise, terse, laconic, or memorable expression of a general truth or principle. Aphorisms are often handed down by t ...
about the information density of
language primitive
In computing, language primitives are the simplest elements available in a programming language. A primitive is the smallest 'unit of processing' available to a programmer of a given machine, or can be an atomic element of an expression in a la ...
s in a visual notation
*
Domain-specific modeling
*
Drag and drop
In computer graphical user interfaces, drag and drop is a pointing device gesture in which the user selects a virtual object by "grabbing" it and dragging it to a different location or onto another virtual object. In general, it can be used ...
*
Flow-based programming
In computer programming, flow-based programming (FBP) is a programming paradigm that defines applications as networks of "black box" processes, which exchange data across predefined connections by message passing, where the connections are specif ...
*
Graph drawing
Graph drawing is an area of mathematics and computer science combining methods from geometric graph theory and information visualization to derive two-dimensional depictions of graphs arising from applications such as social network analysis, car ...
*
Low-code development platform
A low-code development platform (LCDP) provides a development environment used to create application software through a graphical user interface. A low-coded platform may produce entirely operational applications, or require additional coding for s ...
*
No-code development platform
No-code development platforms (NCDPs) allow programmers and non-programmers to create application software through graphical user interfaces and configuration instead of traditional computer programming. No-code development platforms are closely r ...
*
Programming game
A programming game is a video game that incorporates elements of computer programming, enabling the player to direct otherwise autonomous units within the game to follow commands in a domain-specific programming language, often represented as a ...
*
Unified Modeling Language
The Unified Modeling Language (UML) is a general-purpose, developmental modeling language in the field of software engineering that is intended to provide a standard way to visualize the design of a system.
The creation of UML was originally ...
*
Visual language
A visual language is a system of communication using visual elements. Speech as a means of communication cannot strictly be separated from the whole of human communicative activity which includes the visual and the term 'language' in relation to ...
*
Visual thinking
Visual thinking, also called visual or spatial learning or picture thinking, is the phenomenon of thinking through visual processing. Visual thinking has been described as seeing words as a series of pictures. It is common in approximately 60� ...
References
:''This article was originally based on material from the
Free On-line Dictionary of Computing, used with
permission. Update as needed.''
External links
*
{{Authority control
Programming language classification