The Rise and Fall of Visual Programming Languages


Lab Reports, Timelines

{Visual Programming}

Visual programming is a subset of programming languages which try to visualize the coding process with the intention of making code easier to understand and write. Programming is often defined by turning mental models of processes into instructions for computers. Visual programming hopes to reduce that mental burden of programming by visualizing the complex relationships and hierarchies often found in code.

Visual programming has never superseded textual programming languages. Most of the general visual programming languages died out and now visual programming languages are utilized for specific tasks or audiences.

Source: https://cs.gmu.edu/~tlatoza/teaching/swe795s17/Lecture%2012%20-%20Visual%20Programming%20Languages.pdf

{Process}

Research

Researching for this project actually started as a history of educational video games. I started by looking at some early tools to teach kids programming, but I quickly discovered visual programming has a deep history that goes beyond teaching children programming. I was immediately captivated by visual programming’s challenge of trying to succinctly convey the complexities of programming visually and how that has affected its (lack of) prominence today. Because visual programming never became popular, I found some programming languages lacked details about how it worked or what it tried to do different from its predecessors.

I found a couple of sources that gave a brief overview of visual programming languages to guide what to add to my timeline. I then researched each language in more depth to give a better understanding of what the visual programming language was trying to accomplish. I included all the ones that were the most popular or tried something new.

Software

I used Timeline.JS by KnightLab, a tool to create a timeline with just Google Sheets and an internet connection, to make my timeline. It was a great tool for a quick timeline with options for further customization with HTML and CSS.

{Results}

As a programmer since high school, I never thought visual programming languages as an option for serious coders. Most of the visual programming languages I have seen are marketed towards kids or beginner programmers. Now as an aspiring designer, I cannot help but wonder what a visual programming language today could look like and how it could help beginners and professionals alike.

{Reflection}

Limitations

  • Limited number of events. One of the biggest challenges for me was finding reliable resources. Very few articles detailed the history of visual programming languages, and even fewer articles gave specifics about the programming languages.
  • Better visual aesthetics. I kept the visuals simple for easy, but I would love to dive deeper into making custom pictures for my timeline and dive deeper into the HTML & CSS customizations.

Future Direction

  • Cover more programming languages. I want to take a deep dive of more programming languages and what they tried to accomplish.
  • Conduct research on how programmers visualize and conceptualize their programs. Once of the biggest questions I had on my mind was how do programmers visualize their programs. Everyone codes a problem a different way and I want to see if there are any patterns.
  • Explore future visual programming languages could look like. I would love to try to Frankenstein what a good general(ish) purpose visual programming language would look like based on more modern research and efforts from the past.

{Sources}

All icons were sourced from FlatIcons.com

Coding Tech. (2018, July 7). Visual History Of Visual Programming Languages. https://www.youtube.com/watch?v=mdYfFDJCDHc

Flowchart. (2022). In Wikipedia. https://en.wikipedia.org/w/index.php?title=Flowchart&oldid=1068257502

Herman Goldstine. (2022). In Wikipedia. https://en.wikipedia.org/w/index.php?title=Herman_Goldstine&oldid=1066687095

John von Neumann. (2022). In Wikipedia. https://en.wikipedia.org/w/index.php?title=John_von_Neumann&oldid=1069427340

Lecture 12—Visual Programming Languages.pdf. (n.d.). Retrieved February 3, 2022, from https://cs.gmu.edu/~tlatoza/teaching/swe795s17/Lecture%2012%20-%20Visual%20Programming%20Languages.pdf

Najork and Kaplan—1992—A prototype implementation of the CUBE language.pdf. (n.d.). Retrieved February 3, 2022, from https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.67.7089&rep=rep1&type=pdf

Najork, M. A., & Kaplan, S. M. (1992). A prototype implementation of the CUBE language. Proceedings IEEE Workshop on Visual Languages, 270–272. https://doi.org/10.1109/WVL.1992.275744

Pygmalion. (n.d.). Retrieved February 3, 2022, from http://acypher.com/wwid/Chapters/01Pygmalion.html

Sketchpad. (2021). In Wikipedia. https://en.wikipedia.org/w/index.php?title=Sketchpad&oldid=1060797539

What Is Visual Programming? (n.d.). Retrieved February 3, 2022, from https://www.outsystems.com/blog/posts/what-is-visual-programming/