graphical programming language
   HOME

TheInfoList



OR:

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 ...
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 * Progra ...
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 In linguistics, syntax () is the study of how words and morphemes combine to form larger units such as phrases and sentences. Central concerns of syntax include word order, grammatical relations, hierarchical sentence structure ( constituenc ...
or
secondary notation Secondary notation is the set of visual cues used to improve the readability of a formal notation. Examples of secondary notation include the syntax highlighting of computer source code, sizes and color codes for easy recognition of consumer sym ...
. 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 AgentCubes is an educational programming language for children to create 3D and 2D online games and simulations. The main application of AgentCubes is as computational thinking tool teaching children computational thinking through game and simula ...
users can set games or simulations into a particular state in order to see how program would react. With the
Thymio Thymio II is an educational robot in the 100 Euros price range. The robot was developed at the EPFL in collaboration with ECAL, both in Lausanne, Switzerland. A purely-visual programming language was developed at ETH Zurich . All components, bo ...
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, 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 ( ...
, 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 websites, web apps, web services and mobile apps. Visual Studio uses Microsoft software development platforms such ...
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 Lat ...
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 out of an original graph algorithmically. It has numerous applications, ranging from software engineering (software construction and also ...
s.


List of visual languages

The following contains a list of notable visual programming languages.


Educational

*
AgentCubes AgentCubes is an educational programming language for children to create 3D and 2D online games and simulations. The main application of AgentCubes is as computational thinking tool teaching children computational thinking through game and simula ...
, 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 Computer programming i ...
, 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 websites use JavaScript on the client side for webpage behavior, of ...
for creating block-based visual programming languages (VPLs) and editors *
Bubble Bubble, Bubbles or The Bubble may refer to: Common uses * Bubble (physics), a globule of one substance in another, usually gas in a liquid ** Soap bubble * Economic bubble, a situation where asset prices are much higher than underlying fund ...
, 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-serv ...
s. *
Catrobat Catrobat is a block-based visual programming language and Open Source Software non-profit project. The first release dates back to 2010 and was initiated by Wolfgang Slany from the Technical University Graz in Austria. The multidisciplinary team ...
, block-based visual programming language for animations, apps and games *
Flowgorithm Flowgorithm is a graphical authoring tool which allows users to write and execute programs using flowcharts. The approach is designed to emphasize the algorithm rather than the syntax of a specific programming language. The flowchart can be conve ...
, 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 ch ...
, an
iPad The iPad is a brand of iOS and iPadOS-based tablet computers that are developed by Apple Inc., Apple Inc. The iPad was conceived before the related iPhone but the iPhone was developed and released first. Speculation about the development, ...
app, and visual programming language for creating touchscreen-oriented mobile applications. *
Kodu Kodu Game Lab, originally named ''Boku'', is a programming integrated development environment (IDE) by Microsoft's FUSE Labs. It runs on Xbox 360 and Microsoft Windows XP, Windows Vista, Windows 7, Windows 8, Windows 10 And Windows 11. It was ...
, 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 wo ...
. * 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 under ...
hardware interfaces. Developed by Makeblock. * Open Roberta, online programming environment from Fraunhofer IAIS, designed for children. *
Raptor Raptor or RAPTOR may refer to: Animals The word "raptor" refers to several groups of bird-like dinosaurs which primarily capture and subdue/kill prey with their talons. * Raptor (bird) or bird of prey, a bird that primarily hunts and feeds on v ...
, 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 m ...
, 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 ...
, a browser-based reimplementation of BYOB, 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 land-grant research university in Berkeley, California. Established in 1868 as the University of California, it is the state's first land-grant uni ...
. *
Stagecast Creator Stagecast Creator is a visual programming language intended for use in teaching programming to children. It is based on the programming by demonstration concept, where rules are created by giving examples of what actions should take place in a gi ...
, 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 wo ...
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 ...
(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 is ...
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 lispin ...
). *
ToonTalk ToonTalk is a computer programming system intended to be programmed by children. The "Toon" part stands for cartoon. The system's presentation is in the form of animated characters, including robots that can be trained by example. It is one of ...
, 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 structu ...
, a modular node and patch cord environment for the creation of interactive computer music and multimedia (Windows, MacOS). *
Blender (software) Blender is a free and open-source 3D computer graphics software tool set used for creating animated films, visual effects, art, 3D-printed models, motion graphics, interactive 3D applications, virtual reality, and, formerly, video games. Bl ...
, 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 so ...
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 speci ...
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 progr ...
'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 foundati ...
, 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 Filter Forge is a computer graphics program for Windows and Mac that allows users to create procedural textures and modify images. It can be used as a standalone application or as a plugin for compatible 8bf hosts such as Adobe Photoshop. It h ...
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 reflect ...
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 compan ...
* Grasshopper 3d, a generative modeling interface for Rhinoceros 3D *
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 surviv ...
, a
proprietary {{Short pages monitor