[proxy] web.archive.org← back | site home | direct (HTTPS) ↗ | proxy home | ◑ dark◐ light

Visual programming language - Wikipedia

Authority control National libraries United States Other Microsoft Academic

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.[1][2] 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)[3][4] 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[edit]

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[5]

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.[6]

The Visual Basic, Visual C#, Visual J# etc. languages of the Microsoft Visual Studio 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 environments which typically support a form designer and sometimes also have graphical tools to illustrate (but not define) control flow and data dependencies.

Parsers for visual programming languages can be implemented using graph grammars.[7][8]

List of visual languages[edit]

The following contains a list of notable visual programming languages.

Educational[edit]

Multimedia[edit]

Video games[edit]

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 characters. The behaviors are modeled as trees, and are often edited in graphical editors.

Systems / simulation[edit]

Automation[edit]

Data warehousing / business intelligence[edit]

Miscellaneous[edit]

Legacy[edit]

Visual styles[edit]

See also[edit]

References[edit]

  1. ^ Jost, Beate; Ketterl, Markus; Budde, Reinhard; Leimbach, Thorsten (2014). "Graphical Programming Environments for Educational Robots: Open Roberta - Yet Another One?". 2014 IEEE International Symposium on Multimedia. pp. 381–386. doi:10.1109/ISM.2014.24. ISBN 978-1-4799-4311-1.
  2. ^ The Maturity of Visual Programming
  3. ^ Bragg, S.D.; Driskill, C.G. (1994). "Diagrammatic-graphical programming languages and DoD-STD-2167A". Proceedings of AUTOTESTCON '94. pp. 211–220. doi:10.1109/AUTEST.1994.381508. ISBN 0-7803-1910-9.
  4. ^ Kuhail, M. A.; Farooq, S.; Hammad, R.; Bahja, M. (2021). "Characterizing Visual Programming Approaches for End-User Developers: A Systematic Review". IEEE Access. 9: 14181–14202. doi:10.1109/ACCESS.2021.3051043.
  5. ^ Repenning, Alexander (2017). "Moving Beyond Syntax: Lessons from 20 Years of Blocks Programing in AgentSheets". Journal of Visual Languages and Sentient Systems. 3: 68–91. doi:10.18293/vlss2017-010.
  6. ^ Johnston, W.M.; Hanna, J.R.P.; 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.
  7. ^
  8. ^ Zhang, D.-Q. (2001). "A context-sensitive graph grammar formalism for the specification of visual languages". The Computer Journal. 44 (3): 186–200. doi:10.1093/comjnl/44.3.186.
  9. ^ http://www.computermusicjournal.org/reviews/31-* * * 2/regan-bidule.html
  10. ^ "Shader Editor — Blender Manual". docs.blender.org. Retrieved 2021-01-22.
  11. ^ "Compositing — Blender Manual". docs.blender.org. Retrieved 2021-01-22.
  12. ^ "Texture Editing — Blender Manual". docs.blender.org. Retrieved 2021-01-22.
  13. ^ "Reference/Release Notes/2.92/Geometry Nodes - Blender Developer Wiki". wiki.blender.org. Retrieved 2021-01-22.
  14. ^ "⚓ T67088 Everything Nodes UX". developer.blender.org. Retrieved 2021-01-22.
  15. ^ Foundation, Blender. "Everything Nodes and the Scattered Stone". Blender Developers Blog. Retrieved 2021-01-22.
  16. ^ "Babylon.js Node Material Editor". nme.babylonjs.com. Retrieved 2021-01-22.
  17. ^ Construct Classic home page
  18. ^ Construct Classic page on SourceForge
  19. ^ "Yahoo! pipes". Archived from the original on 2015-01-03. Retrieved 2015-01-03.
This article was originally based on material from the Free On-line Dictionary of Computing, used with permission. Update as needed.

External links[edit]