Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Visual programming language
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Programming language written graphically by a user}} {{Distinguish|Design language}} [[File:Add all numbers block.png|thumb|upright=1.3|A simple custom block in the [[Snap! (programming language)|Snap!]] visual programming language, which is based on [[Scratch (programming language)|Scratch]], calculating the sum of all numbers with values between ''a'' and ''b'']] In [[computing]], a '''visual programming language''' ('''visual programming system''', '''VPL''', or, '''VPS'''), also known as '''diagrammatic programming''',<ref>{{cite book|doi=10.1109/AUTEST.1994.381508|chapter=Diagrammatic-graphical programming languages and DoD-STD-2167A|title=Proceedings of AUTOTESTCON '94|pages=211β220|year=1994|last1=Bragg|first1=S.D.|last2=Driskill|first2=C.G.|isbn=0-7803-1910-9|s2cid=62509261 }}</ref><ref>{{cite journal|doi=10.1109/ACCESS.2021.3051043|title=Characterizing Visual Programming Approaches for End-User Developers: A Systematic Review|journal=IEEE Access|volume=9|pages=14181β14202|year=2021|last1=Kuhail|first1=M. A. |last2=Farooq|first2=S. |last3=Hammad |first3=R. |last4=Bahja |first4=M.|doi-access=free|bibcode=2021IEEEA...914181K }}</ref> '''graphical programming''' or '''block coding''', is a [[programming language]] that lets users create [[computer program|programs]] by manipulating program elements {{em|graphically}} rather than by specifying them {{em|textually}}.<ref>{{cite book|doi=10.1109/ISM.2014.24|chapter=Graphical Programming Environments for Educational Robots: Open Roberta - Yet Another One?|title=2014 IEEE International Symposium on Multimedia|pages=381β386|year=2014|last1=Jost|first1=Beate|last2=Ketterl|first2=Markus|last3=Budde|first3=Reinhard|last4=Leimbach|first4=Thorsten|isbn=978-1-4799-4311-1|s2cid=8272806 }}</ref> 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 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. VPLs are generally the basis of [[low-code development platform]]s. ==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<ref>{{cite journal|doi=10.18293/vlss2017-010|title=Moving Beyond Syntax: Lessons from 20 Years of Blocks Programing in AgentSheets|journal=Journal of Visual Languages and Sentient Systems|volume=3|pages=68β91|year=2017|last1=Repenning|first1=Alexander|doi-access=free}}</ref> ;'''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]] 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. As of 2005, current developments try to integrate the visual programming approach with [[dataflow programming]] languages to either have immediate access to the [[program state]], 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.<ref>{{cite journal |last=Johnston |first=W.M. |author2=Hanna, J.R.P. |author3=Millar, R.J. |year=2004 |title=Advances in dataflow programming languages |journal=[[ACM Computing Surveys]] |volume=36 |issue=1 |pages=1β34 |url=http://www.cs.ucf.edu/~dcm/Teaching/COT4810-Spring2011/Literature/DataFlowProgrammingLanguages.pdf |access-date=2011-02-16 |doi=10.1145/1013208.1013209 |s2cid=5257722 }}</ref> The [[Visual Basic .NET|Visual Basic]], [[C Sharp (programming language)|Visual C#]], [[J Sharp|Visual J#]] etc. languages of the [[Microsoft Visual Studio]] integrated development environment (IDE) are not visual programming languages: the representation of algorithms etc. is textual even though the [[Integrated development environment|IDE]] embellishes the editing and debugging activities with a rich user interface. A similar consideration applies to most other [[rapid application development]] environments which typically support a [[form designer]] and sometimes also have graphical tools to illustrate (but not define) control flow and data dependencies. [[Parser]]s for visual programming languages can be implemented using [[graph grammar]]s.<ref>{{cite journal|doi=10.1006/jvlc.1996.0027 |title=Defining and parsing visual languages with layered graph grammars |journal=Journal of Visual Languages & Computing |volume=8 |issue=1 |pages=27β55 |year=1997 |last1=Rekers |first1=J. |last2=SchΓΌrr |first2=A. |s2cid=40088910 }}</ref><ref>{{cite journal|doi=10.1093/comjnl/44.3.186|title=A context-sensitive graph grammar formalism for the specification of visual languages|journal=The Computer Journal|volume=44|issue=3|pages=186β200|year=2001|last1=Zhang|first1=D.-Q.|s2cid=14139133 |hdl=10397/17637|hdl-access=free}}</ref> == Types of visual languages == The following list is not mutually exclusive, as some visual programming environments may incorporate elements from multiple paradigms. The choice of visual programming paradigm often depends on the specific requirements of the application or the preferences of the users or the developers. ;'''Block-based programming''' : Popularized by platforms like Scratch and Blockly, used in educational settings and for introductory programming. ;'''[[Flowchart|Flowcharts]]''' : Widely used in software engineering and systems design for representing algorithms and processes. ;'''Drag-and-drop interfaces''' :Commonly used in GUI design tools and development environments for creating user interfaces. ;'''[[Node graph architecture|Node graphs]]''' : Frequently used in visual programming languages, game development, and dataflow systems. ;'''[[Dataflow programming]]''' : Popular in parallel computing, signal processing, and visual programming environments. ;'''Iconic programming''' : Used in various contexts for simplifying programming tasks, often associated with mobile app development. ;'''[[Finite-state machine|State machines]]''' : Widely employed in game development, control systems, and modeling reactive systems. ;'''Sheet-based programming''' : Found in spreadsheet applications and certain educational programming environments. ;'''Timeline-based programming''' : Common in multimedia and animation software for sequencing events over time. ;'''Spatial programming''' : Applied in certain interactive and 3D modeling environments. ;'''Form-based programming''' : Used in applications where user input and graphical interfaces play a significant role, such as data entry applications. == General-purpose visual languages == [[File:Ringlang shot10.jpg|thumb|300px|[[Ring (programming language)|Ring]] Virtual Machine (VM) implementation using the [[PWCT]] visual programming language]] Most of the VPLs are designed for [[education]] or [[Domain-specific language|domain-specific]] usage where the target users are novice programmers. But there are some research projects try to provide a [[General-purpose language|general-purpose]] visual programming language that can be used by mainstream programmers in any [[software]] project instead of using textual programming languages (like [[C (programming language)|C]], [[C++]], [[Java (programming language)|Java]], etc.). For example, research projects such as Envision <ref>Asenov, D. and Muller, P., 2014, July. Envision: A fast and flexible visual code editor with fluid interactions (overview). In 2014 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC) (pp. 9-12). IEEE.</ref><ref>{{cite web | url=https://www.pm.inf.ethz.ch/research/envision.html | title=Envision }}</ref> and [[PWCT]]<ref>Fayed, M.S., Al-Qurishi, M., Alamri, A., Hossain, M.A. and Al-Daraiseh, A.A., 2020. PWCT: a novel general-purpose visual programming language in support of pervasive application development. CCF Transactions on Pervasive Computing and Interaction, 2, pp.164-177.</ref> are designed to achieve this goal. It's common for a VPL to be developed using a textual programming language. Developing general-purpose VPLs allows the other way around. For example, a new textual programming language [[Compiler]] and [[Virtual machine|Virtual Machine]] have been developed and maintained using visual programming for many years.<ref>Ayouni, M., 2020. Beginning Ring programming (Vol. 978, No. 1, pp. 4842-5832). Apress.</ref> This approach increased the abstraction level, thereby hiding unnecessary details. <ref>Fayed, Mahmoud Samir, and Yousef A. Alohali. "Ring: A Lightweight and Versatile Cross-Platform Dynamic Programming Language Developed Using Visual Programming." Electronics 13, no. 23 (2024): 4627.</ref> This increased level of abstraction enables developers to concentrate on the program's overall structure and functionality instead of being entangled in the details of code syntax. <ref>Green, T.; Blackwell, A. Cognitive dimensions of information artefacts: A tutorial. In Proceedings of the BCS HCI Conference, Sheffield, UK, 1β4 August 1998; Volume 98, pp. 1β75</ref><ref>Green, T.R.; Blandford, A.E.; Church, L.; Roast, C.R.; Clarke, S. Cognitive dimensions: Achievements, new directions, and open questions. J. Vis. Lang. Comput. 2006, 17, 328β365</ref> == List of visual languages == {{Dynamic list}} The following contains a list of notable visual programming languages. <!-- IMPORTANT, READ BEFORE ADDING AN ENTRY Please ONLY add entries with a Wikipedia article. They are likely to be removed otherwise. Don't add additional information; this should be in the main Wikipedia entry. --> === Educational === * [[AgentCubes]], 3D and 2D game design and simulation design computational thinking tools. * [[AgentSheets]], game authoring and computational science authoring tool. * [[Alice (software)|Alice]], an object based language used to program 3D environments. * [[Analytica (software)|Analytica]], for building and analyzing quantitative models for decision and risk analysis. * [[App Inventor for Android]], a tool for creating [[Android (operating system)|Android]] applications, based on [[Blockly]] and [[Kawa (Scheme implementation)|Kawa]]. * [[Blockly]], a client-side library for the programming language [[JavaScript]] for creating block-based visual programming languages (VPLs) and editors. Blockly is known for its use on [[Scratch (programming language)|Scratch]]. * [[Catrobat]], block-based visual programming language for animations, apps and games * [[Etoys (programming language)|Etoys]], developed under the direction of [[Alan Kay]] at Disney to support constructionist learning, influenced by [[Seymour Papert]] and the Logo programming language * [[Flowcode]], a visual programming tool for embedded microcontrollers and Windows. * [[Flowgorithm (programming language)|Flowgorithm]], creates executable flowcharts which can be converted to several languages. * [[Greenfoot]], an IDE for Java or Stride primarily designed for educational purposes, as well as for GUI and game development * [[Hopscotch (programming language)|Hopscotch]], an [[iPad]] app, and visual programming language for creating touchscreen-oriented mobile applications. * [[Kodu Game Lab|Kodu]], a visual programming tool for [[Logo (programming language)|Logo]]. * [[Kojo (learning environment)|Kojo]], a programming language, [[integrated development environment|IDE]], and learning environment. * [[mBlock]], an extension of Scratch for [[Arduino]] hardware interfaces. Developed by [[Makeblock]]. * [[Open Roberta]], online programming environment from [[Fraunhofer IAIS]], designed for children. * [[Pencil Code (programming language)|Pencil Code]], a visual programming language centered on drawing with a pencil * [[Raptor (programming language)|Raptor]], a product of the [[USAF]], for drawing executable flowcharts. * [[Scratch (programming language)|Scratch]], a product of [[MIT]], designed for children in K-12 and after-school programs. * [[ScratchJr]], an interpretation of Scratch designed primarily for younger audiences (5-7-year-old children). * [[Snap! (programming language)|Snap!]], a browser-based reimplementation of [[BYOB (programming language)|BYOB]], and extension of [[Scratch (programming language)|Scratch]], with first class procedures and lists. Used for teaching at [[UC Berkeley]]. * [[Stagecast Creator]], a Java-based teaching system. * [[StarLogo]], an [[Computer simulation#Types|agent-based]] simulation language developed by [[Mitchel Resnick]], [[Eric Klopfer]], and others at [[MIT Media Lab]]. An extension of the [[Logo (programming language)|Logo]] programming language (a [[Programming language dialect|dialect]] of [[Lisp (programming language)|Lisp]]). * [[ToonTalk]], programming system for children. *[[Visual Logic (programming language)|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 2/regan-bidule.html</ref> * [[Blender (software)|Blender]], the open source [[3D computer graphics|3D graphics]] package, includes [[Directed acyclic graph|node graphs]] for building [[shader]]s,<ref>{{Cite web|title=Shader Editor β Blender Manual|url=https://docs.blender.org/manual/en/latest/editors/shader_editor.html|access-date=2021-01-22|website=docs.blender.org}}</ref> [[Compositing|composites]]<ref>{{Cite web|title=Compositing β Blender Manual|url=https://docs.blender.org/manual/en/latest/compositing/index.html|access-date=2021-01-22|website=docs.blender.org}}</ref> [[Procedural texture|textures]],<ref>{{Cite web|title=Texture Editing β Blender Manual|url=https://docs.blender.org/manual/en/2.79/render/cycles/materials/texture_editing.html|access-date=2021-01-22|website=docs.blender.org}}</ref> and [[Procedural modeling|non-destructive geometry]].<ref>{{Cite web|title=Reference/Release Notes/2.92/Geometry Nodes - Blender Developer Wiki|url=https://wiki.blender.org/wiki/Reference/Release_Notes/2.92/Geometry_Nodes|access-date=2021-01-22|website=wiki.blender.org}}</ref><ref>{{Cite web|title=Geometry Nodes β Blender Manual|url=https://docs.blender.org/manual/en/latest/modeling/geometry_nodes/index.html|access-date=2021-10-02|website=docs.blender.org}}</ref> * [[Cameleon (programming language)|Cameleon]], graphical functional language * [[Clickteam]]'s The games factory/Multimedia fusion series, environments made for visually developing games * [[DYNAMO (programming language)|Dynamo]], a generative modeling interface for [[Autodesk Revit]] * [[Filter Forge]], a node based filter generation for image processing * [[Houdini (software)]], a visual effects, modeling, and animation software * [[GenerativeComponents]], a parametric CAD software developed by [[Bentley Systems]] * [[Grasshopper 3D]], a generative modeling interface for [[Rhinoceros 3D]] * [[Isadora (software)|Isadora]], a [[Proprietary software|proprietary]] graphic programming environment for [[macOS]] and [[Microsoft Windows]], with emphasis on real-time manipulation of digital video. * [[Kyma (sound design language)]], 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)]], a visual programming environment for building interactive, real-time music and multimedia applications ** [[Max/MSP]] ** [[Pure Data]] ** [[nato.0+55+3d]] * [[Nodal (software)|Nodal]], a node-based generative programming software application for music composition * [[Nuke (software)|Nuke]], an object-based visual programming software for [[visual effects]] [[compositing]] by [[The Foundry Visionmongers|The Foundry]] powered by Tcl, Python, and Blink-script. * [[OpenMusic]], a visual programming language for music composition (based on [[Common Lisp Object System]] (CLOS)) applications, and mobile applications * [[Pure Data]] (Pd) is a visual programming language developed for creating interactive computer music and multimedia works. * [[Quartz Composer]], a language for processing and rendering graphical data ({{nowrap|macOS}}) * [[Reaktor]], a DSP and MIDI-processing language by [[Native Instruments]] * [[Scala Multimedia]] Authoring suite and complete multimedia system for AmigaOS and Windows * [[Autodesk Softimage|Softimage]], 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 computing|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.<ref>{{Cite web|title=Babylon.js Node Material Editor|url=https://nme.babylonjs.com/|access-date=2021-01-22|website=nme.babylonjs.com}}</ref> * [[Blender Game Engine]] (Graphical logic editor) * [[Buildbox]] * [[Clickteam|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 (game engine)|Construct]] 2-3 are HTML5-based 2D game editors, developed by Scirra Ltd. ** [[Construct (game engine)#Construct Classic|Construct Classic]] is the previous, DirectX-based open-sourced version of Construct.<ref>[http://www.scirra.com/forum/construct-classic Construct Classic home page]</ref><ref>[http://sourceforge.net/projects/construct/ Construct Classic page on SourceForge]</ref> * [[CryEngine]] has a node-based visual programming language called FlowGraph. * [[Dreams (video game)|Dreams]], 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]], developed by [[Nintendo]]. * [[GameMaker Studio]], has a drag-and-drop game creation system developed by YoYo Games. * [[GameSalad]] is a visual game creation tool developed by GameSalad, Inc. * [[GDevelop]] is a visual game creation tool created by Florian Rival (4ian). * [[Godot (game engine)|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. * [[MakeCode Arcade]], by Microsoft * [[Pixel Game Maker MV]] is an interface-based 2D video game development tool. * [[Rec Room (video game)|Rec Room]] includes a game creation system with a node-based visual programming language called Circuits. * [[Snowdrop (game engine)|Snowdrop]] has a visual scripting system. * [[Stencyl]], a video game creation tool. * [[Unity (game engine)|Unity]] has a visual scripting system as of the ECS release. (Formally known as Bolt) * [[Unreal Engine 4]] has a node-based visual programming language called Blueprints, and also shaders. Many modern video games make use of [[Behavior tree (artificial intelligence, robotics and control)|behavior trees]], which are in principle a family of simple programming languages designed to [[Behavior model|model behaviors]] for [[non-player character]]s. The behaviors are modeled as trees, and are often edited in graphical editors. === Systems / simulation === * [[Analytica (software)|Analytica]], a commercial visual language for decision models based on [[influence diagrams]]. *[[Business Process Execution Language|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. * [[Cerbrec Graphbook]], a computing platform that allows anyone to use visual programming to design, audit, and run GPU-intensive workflows * [[DRAKON]], a graphical algorithmic language, a [[Free and open-source software|free and open source]] [[algorithm]]ic visual programming and [[modeling language]] developed as part of the defunct Soviet Union [[Buran program|Buran space program]] * [[Flowcode]] is a graphical programming language to program [[embedded microprocessor]]s * [https://github.com/flydelabs/flyde Flyde] is an open-source visual-programming language that integrates with [[TypeScript|Typescript]] code and can runs from [[Visual Studio Code|VS Code studio]] * [[Function block diagram]]s, used in [[programmable logic controller]]s * [[GNU Radio]], a development toolkit which provides signal-processing blocks to implement software-defined-radios and signal-processing systems * [[KNIME]], the Konstanz Information Miner, is an open source data analytics, reporting and integration platform * [[LabVIEW]], a graphical language designed for engineers and scientists * [[Ladder logic]], a language that simulates relay logic commonly used in [[programmable logic controller]]s * [[MeVisLab]], cross-platform [[application framework]] for [[medical image processing]] and [[scientific visualization]] * [[Microsoft Visual Programming Language]], dataflow language for [[robotics]] programming that is a component of [[Microsoft Robotics Studio]] * [[MindRover]], a robot programming game incorporating a dataflow "wiring" language * [[Minibloq]], visual programming language for [[robotics]] and [[Arduino]] compatible boards * [[MST Workshop]], an interactive visual programming language for creating mathematical solutions, rapid prototyping, two-dimensional and three-dimensional graphic applications * [[Node-RED]]: software system rapid development toolkit * [[Lego Mindstorms NXT#NXT-G|NXT-G]], a visual programming language for the [[Lego Mindstorms NXT]] robotics kit * [[OpenDX]] scientific data visualization using a visual programming language and data flow model * [[OpenWire (library)|OpenWire]] - adds visual dataflow programming abilities to [[Delphi (programming language)|Delphi]] via [[Visual Component Library]] (VCL) components and a graphical editor (homonymous [[OpenWire (binary protocol)|binary protocol]] is unrelated) * [[Orange (software)|Orange]] - An [[open-source software|open-source]], visual programming tool for [[data mining]], statistical [[data analysis]], and [[machine learning]] * [[OutSystems]] language, a visual modeling language to develop and change all layers of business centric web applications * [[Prograph]] - an [[object-oriented programming]] language that uses iconic symbols to represent actions to be taken on data *[[Ptolemy Project]] - a project aimed at modeling and designing real-time [[embedded system]]s. * [[Qucs]] graphical interface to set up simulation of electronic circuit signal and noise behavior * Reallusion - [[iClone]], a 3D software with Lua language and visual programming design * [[Fischertechnik#Robotic process control|ROBO Pro]], a visual programming language for the [[fischertechnik]] robotics kit * [[Scicos]] A graphical language associated with the numerical analysis package [[ScicosLab]] (originally [[SciLab]]) * [[Sequential function chart]], a Petri-net like programming language for [[programmable logic controller]]s * [[Simcenter Amesim]], graphical programming environment for modeling, simulating and analyzing multidomain dynamical systems * [[Simulink]], 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 (programming language)|STELLA]], a VPL for system dynamics modeling * [[Autodesk Softimage#ICE Interactive Creative Environment|Softimage ICE]], a node-based system that is used to create and modify [[3D modeling|3D models]], simulate particles and perform various other tasks * [[Unified Modeling Language]] depicts connectives (arrows) such as 'isA', 'has' as icons; resources can be roles * [[Agilent VEE|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 (software)|Automator]] * [[CiMPLE]], Visual Programming Language by ThinkLABs for teaching robotics * [[webMethods Flow|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 [[BIOVIA|the Accelrys Enterprise Platform]]. === Data warehousing / business intelligence === * [[Ab Initio Software|Ab Initio]], a tool for [[Extract, transform, load|ETL]] processing by creating graphs * [[Alteryx|Alteryx Designer]], a tool for data processing and analytics incorporating [[SQL]], R, and Python. * [[Apache Nifi]], software project to automate the flow of data between software systems. * [[IBM Cognos Business Intelligence]], is an example for front-end programs in [[business intelligence]] applications, which are used to generate [[SQL]] queries to run against [[RDBMS]] databases * [[IBM InfoSphere DataStage]], an ETL tool * [[Informatica|Informatica Powercenter]] is an ETL tool to design mappings graphically for data load in Data Warehouse systems * [[Microsoft Access]], query design functionality * [[SQL Server Integration Services|Microsoft SQL Server Integration Services (SSIS)]], a platform for data integration and workflow applications * [[Pentaho|Pentaho Data Integration (PDI)]], formerly named Kettle, an open-source ETL tool === Miscellaneous === * [[Bubble (programming language)|Bubble]], for creating production-ready [[web application]]s. * Cube , an esolang to emulate a 3D cube via a 2D text interface {{Cite web |url=https://esolangs.org/wiki/Cube |title=Cube }} * [[Kwikpoint]], an isotype visual translator created by Alan Stillman * [[Morphic (software)]], makes it easier to build and edit graphical objects by direct manipulation and from within programs; the whole [[Self (programming language)]] programming environment is built using Morphic *[[Piet (programming language)|Piet]], an esoteric language, the program is an image whose pixels are the language's elements * ProtoFlux, visual language used in the [[Resonite]] virtual reality system. *[[PWCT]], Free open source visual programming language for software development * Pygmalion, a creative programming environment developed in 1975 by DARPA based on human communication and systems design * [[Shortcuts (app)|Shortcuts]], a visual scripting language developed by Apple for creating macros on [[macOS]], [[iOS]], [[iPadOS]], and [[watchOS]]. * [[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<ref>{{Cite web |url=http://pipes.yahoo.com/pipes/ |title=Yahoo! pipes |access-date=2015-01-03 |archive-url=https://web.archive.org/web/20150103090119/http://pipes.yahoo.com/pipes/ |archive-date=2015-01-03 |url-status=dead }}</ref> * [[YAWL]], graphical workflow language === Legacy === * [[AppWare]], also known as MicroBrew, icon based programming for [[classic Mac OS]] and [[Microsoft Windows]] * [[Macromedia Authorware]] - flowchart based programming language * [[Helix (database)|Helix]] and Double Helix, a pioneering database management system for the Apple Macintosh platform, created in 1983 * [[Illumination Software Creator]], a language and IDE for visually creating desktop and mobile software * [[ThingLab]] == Visual styles == * [[DRAKON|DRAKON (Dragon)]], a [[Specification and Description Language|SDL]]- and [[Architecture Analysis & Design Language|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 (spacecraft)|Buran (Snowstorm) orbiting spacecraft]] * [[Executable UML]], a [[profile (UML)|profile]] of the [[Universal Modeling Language]] specification defining executable semantics for a subset of UML * [[Flowchart]] * [[Subtext (programming language)|Subtext]] ==See also== *[[Argument map]] *[[Cognitive dimensions of notations]] - Notation assessment for visual and non-visual languages *[[Concept map]] *[[Dataflow programming]] *[[Deutsch limit]], an [[aphorism]] about the information density of [[language primitive]]s in a visual notation *[[Domain-specific modeling]] *[[Drag and drop]] *[[Flow-based programming]] *[[Graph drawing]] *[[Low-code development platform]] *[[No-code development platform]] *[[Programming game]] *[[Unified Modeling Language]] *[[Visual language]] *[[Visual modeling]] *[[Visual thinking]] ==References== {{Reflist}} * Based on material from the [[Free On-line Dictionary of Computing]], used with [[Wikipedia:Foldoc license|permission]]. ==External links== {{Types of programming languages}} {{Authority control}} [[Category:Programming language classification]] [[Category:Visual programming languages| ]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Authority control
(
edit
)
Template:Cite book
(
edit
)
Template:Cite journal
(
edit
)
Template:Cite web
(
edit
)
Template:Distinguish
(
edit
)
Template:Dynamic list
(
edit
)
Template:Em
(
edit
)
Template:Hatnote
(
edit
)
Template:Nowrap
(
edit
)
Template:Reflist
(
edit
)
Template:Short description
(
edit
)
Template:Types of programming languages
(
edit
)