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
(section)
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!
==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>
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)