# visual programming language

> programming language written graphically by a user

**Wikidata**: [Q683111](https://www.wikidata.org/wiki/Q683111)  
**Wikipedia**: [English](https://en.wikipedia.org/wiki/Visual_programming_language)  
**Source**: https://4ort.xyz/entity/visual-programming-language

## Summary
A visual programming language (VPL) is a type of programming language that allows users to write programs graphically. Instead of text-based code, instructions are communicated to a machine through visual elements. It is a subclass of both visual languages and programming languages.

## Key Facts
*   A visual programming language is written graphically by a user.
*   It is classified as a type of programming language.
*   It is a subclass of both visual language and programming language.
*   Visual programming languages often include a graphical user interface.
*   Aliases for visual programming language include VPL, graphical language, visual language, block coding, block-based coding, and graphical programming language.
*   It is distinct from block programming, code block, block code, and design language.
*   The entity has 27 sitelinks across various platforms.

## FAQs
### Q: What defines a visual programming language?
A: A visual programming language is primarily defined by its method of input: it is written graphically by a user. This means that instead of traditional text-based coding, users interact with visual elements to construct programs.

### Q: What are some examples of visual programming languages?
A: Examples of entities explicitly identified as visual programming languages include Caméléon, ScratchJr, Piet, STELLA, Bubble, Microsoft Visual Programming Language, and TouchDesigner. Other related tools like Blockly and Flowgorithm also utilize visual or graphical authoring.

### Q: How does a visual programming language differ from traditional programming languages?
A: The primary difference is the interface for writing code; visual programming languages are written graphically, whereas traditional languages typically rely on text-based syntax. Visual programming languages often incorporate a graphical user interface to facilitate this visual interaction.

## Why It Matters
Visual programming languages are significant because they democratize access to programming by lowering the barrier to entry for new users. By replacing complex textual syntax with intuitive graphical elements, they make the process of communicating instructions to a machine more accessible and understandable, especially for beginners and non-programmers. This visual approach can simplify the learning curve, reduce syntax errors, and allow users to focus more on the logic and flow of their programs rather than memorizing commands. They play a crucial role in educational settings, enabling children and students to grasp fundamental programming concepts through drag-and-drop interfaces and visual representations. Furthermore, VPLs are vital in specialized domains like real-time music and multimedia applications, system dynamics modeling, and microcontroller programming, where visual representations can streamline complex system design and interaction. Their impact extends to fostering computational thinking across a broader audience, making technology creation more inclusive.

## Notable For
*   **Graphical Interaction:** Distinguished by being written graphically by a user, moving away from traditional text-based coding.
*   **Inclusion of GUI:** Often incorporates a graphical user interface as a core component for program construction.
*   **Accessibility:** Known for making programming concepts more accessible to beginners and non-developers through visual metaphors.
*   **Distinct from Block Programming:** While often block-based, it is explicitly differentiated from general "block programming," "code block," and "block code."

## Body

### Definition and Characteristics
A visual programming language (VPL) is a programming language that is written graphically by a user. This graphical approach distinguishes it from traditional text-based programming languages. A key characteristic is the use of a graphical user interface (GUI) to facilitate the creation and manipulation of programs.

### Classification and Relationships
Visual programming language is classified as a type of programming language. It is also a subclass of both visual language and programming language.

It is explicitly stated to be different from:
*   design language
*   block programming
*   code block
*   block code

### Aliases and Identifiers
The entity "visual programming language" is known by several aliases, including:
*   VPL
*   graphical language
*   visual language
*   block coding
*   block-based coding
*   graphical programming language
*   lenguaje de programación gráfica
*   lenguaje visual
*   programación por bloques
*   programación basada en bloques

It has various identifiers across different knowledge bases:
*   **FODOC ID:** visual+programming+language
*   **KBPedia ID:** VisualProgrammingLanguage (referenced 2020-07-09)
*   **Freebase ID:** /m/02hrsx (referenced 2013-10-28)
*   **Quora Topic:** Visual-Programming-Language
*   **NL CR Aut ID:** ph127124 (vizuální programovací jazyky)
*   **Yale LUX ID:** concept/7b7d7b85-e509-4499-a18b-004df5157046
*   **Wikipedia Title:** Visual programming language
*   **Commons Category:** Visual programming languages
*   **Stack Exchange Tag:** graphical-language
*   **ScienceDirect Topic ID:** computer-science/graphical-programming-language, computer-science/visual-programming-language
*   **Library of Congress Authority ID:** sh87006584 (referenced 2019-04-03)
*   **National Library of Israel J9U ID:** 987007534379305171
*   **Australian Educational Vocabulary ID:** scot/16504
*   **Microsoft Academic ID (discontinued):** 128644962

### Related Entities
Many entities are related to visual programming languages, some of which are themselves VPLs or utilize graphical programming concepts:

**Explicit Visual Programming Languages:**
*   Caméléon (inception: 2009)
*   ScratchJr
*   Piet (inception: 1993)
*   STELLA (inception: 1985)
*   Bubble
*   Microsoft Visual Programming Language
*   TouchDesigner (node based visual programming language for real time interactive multimedia content)

**Programming Languages (some with visual aspects):**
*   Snap! (inception: 2011)
*   Etoys (inception: 1996)
*   Max (programming language)
*   Keysight VEE
*   Scratch (inception: 2003, programming language learning environment)
*   Blockly (inception: 2012, Blockly visual programming language)

**Graphical Authoring Tools & Environments:**
*   MicroBlocks (free blocks programming system for microcontrollers)
*   Turtlestitch (visual blocks-based programming environment for turtle graphics and embroidery)
*   Jmax (visual programming environment for building interactive real-time music and multimedia applications)
*   Continuous Function Chart (graphic editor)
*   Stateflow (control logic tool, models reactive systems via state machines and flow charts)
*   Reaktor (graphical modular software music studio)
*   TouchDevelop (inception: 2011-07-21, programming environment)
*   PottersWheel (MATLAB toolbox)
*   Windows App Studio (discontinued web app)
*   Hopscotch (app for teaching programming)
*   Flowgorithm (inception: 2014, graphical authoring tool using flowcharts)
*   Raptor (graphical authoring tool)
*   Visual Logic (graphical authoring tool)
*   Open Roberta (project within "Roberta—Learning with robots")
*   vvvv (inception: 1998, general purpose toolkit)
*   SynthEdit (framework to generate music software)
*   SolidThinking Embed (inception: 1989, visual language for modeling and simulating nonlinear dynamic systems)

```json
{
  "@context": "https://schema.org",
  "@type": "Thing",
  "name": "visual programming language",
  "description": "A programming language written graphically by a user.",
  "sameAs": [
    "https://www.wikidata.org/wiki/Q216666",
    "https://en.wikipedia.org/wiki/Visual_programming_language"
  ],
  "additionalType": "https://schema.org/ProgrammingLanguage"
}

## References

1. [Source](https://github.com/JohnMarkOckerbloom/ftl/blob/master/data/wikimap)
2. Freebase Data Dumps. 2013
3. Quora
4. National Library of Israel
5. KBpedia
6. [OpenAlex](https://docs.openalex.org/download-snapshot/snapshot-data-format)