Visual programming language

An implementation of a "Hello, world!" program in the Scratch programming language

In computing, a visual programming language (VPL) is any programming language that lets users create programs 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)[1] 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.

A visually transformed language is a non-visual language with a superimposed visual representation. Naturally visual languages have an inherent visual expression for which there is no obvious textual equivalent.[citation needed]

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 (i.e. visual paradigm). Dataflow languages also allow automatic parallelization, which is likely to become one of the greatest programming challenges of the future.[2]

An instructive counterexample for visual programming languages is Microsoft Visual Studio. The languages it encompasses (Visual Basic, Visual C#, Visual J#, etc.) are commonly confused with, but are not visual programming languages. All of these languages are textual and not graphical. MS Visual Studio is a visual programming environment, but not a visual programming language, hence the confusion.

Visual languages

The following contains a list of visual programming languages.

Educational

Multimedia

  • AudioMulch, an audio signal flow based sound and music creation environment
  • Blender (software), the open source 3D graphics package, includes a "node editor" to create shading programs as graphs. Also, custom nodes allows create systems as sverchok, blendgraph or other.
  • Cameleon, graphical functional language
  • Clickteam's The games factory/Multimedia fusion series, environments made for visually developing games
  • Filter Forge Node based filter generation for image processing.
  • Grasshopper 3d, a generative modeling interface for Rhinoceros 3D
  • Mama (software) - a programming language and IDE for building 3D animations and games
  • Max (software), visual programming environment for building interactive, real-time music and multimedia applications
  • Nuke, a Python-based visual programming language for visual effects compositing by The Foundry
  • 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 (Mac OS X)
  • Reaktor, a DSP and MIDI-processing language by Native Instruments
  • Scala Multimedia Authoring suite and complete multimedia system for AmigaOS and Windows
  • SynthEdit, a Synthesizer construction tool using a VPL.
  • Virtools, a middleware used to create interactive 3D experiences
  • WireFusion, visual programming environment for creating interactive 3D web presentations
  • Vsxu, music visual / real time 3D graphics generation (Windows, GNU/Linux, and Mac OS X)
  • vvvv, real-time video synthesis

Games

  • Construct 2 is a HTML5 based game editor developed by Scirra Ltd.
  • Godot, in-house open source MIT Licensed game development software made by OKAM Studio
  • GameSalad is a visual game creation tool developed by GameSalad, Inc.
  • Kodu, a software designed to program games with a 3D Interface developed by Microsoft Research
  • Stencyl, a video game creation tool
  • ScriptEase [1], a visual game scripting tool developed by the University of Alberta in Canada that works with Neverwinter Nights and Unity.

Systems / simulation

Automation

  • Automator
  • CiMPLE, 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.
  • PLUS+1 GUIDE, a graphical programming environment from Sauer-Danfoss typically used for off-highway machines.

Data warehousing/ business intelligence

Miscellaneous

  • Yahoo! Pipes is an visual data-flow programming system to process web data [3]
  • iCon-L (de: iCon-L) is an open visual programming system used with robots.[4]
  • Kwikpoint, an isotype visual translator created by Alan Stillman
  • Lava
  • 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
  • StreamBase Systems, StreamBase EventFlow is a visual programming language for processing streaming events
  • Tersus, an open source platform for the development of rich web applications by visually defining user interface, client side behavior and server side processing
  • TouchDevelop, programming for mobile devices
  • WebML, is a visual language for designing complex data-intensive Web applications that can be automatically generated
  • YAWL, graphical workflow language
  • XEE, a visual data processing language for ETL tasks
  • Limnor
  • ClickScript, a web based visual programming language, developed by Lukas Naef in his master thesis [5]

Legacy

Visual styles

See also

References

  1. ^ Diagrammatic-graphical programming languages and DoD-STD-2167A from the IEEE
  2. ^ Johnston, W.M.; Hanna, J.R.P. and Millar, R.J. (2004). "Advances in dataflow programming languages" (PDF). ACM Computing Surveys 36 (1): 1–34. doi:10.1145/1013208.1013209. Retrieved 2011-02-16. 
  3. ^ Yahoo! pipes
  4. ^ Stefan Enderle, Wolfgang Guenther, Hans-Juergen Hilscher, Holger Kenn. "xROB-S and iCon-X: Flexible Hardware, Visual Programming and Software Component Reuse". 2009.
  5. ^ "ClickScript"

This article was originally based on material from the Free On-line Dictionary of Computing, used with permission. Update as needed.

External links