Introduction to visual programming languages (VPLs)

Loki.code
5 min readFeb 6, 2023

These days building something on the internet using no-code and low-code tools is easier than ever. There are plenty of VPLs to help you achieve your goal but you’ll always need a specific tool for a specific job.

I have always been fascinated by VPL and I am no stranger in using them. As a teenager, I used to make games using GameMaker, a drag and drop tool for creating 2d videogames. Fast forward more than a decade later, I have been working for a startup developing a VPL for teaching kids the fundamentals of coding and helping them create their first programs with the aid of tactile hardware blocks. The experience was quite fascinating and reminded me of my early days in coding.

Fast forward to the present, I want to tell you the story on how a group of 3 guys met on Reddit and started building Loki, a visual programming language for Smart Contracts on Ethereum.

Let set the scene with some lingo.

What is a visual programming language

A visual programming language is a program that allows you to create or manipulate programs using graphical elements instead of typing the code.

VPLs have gained huge traction especially in school environment for their simplicity in teaching basic programming concepts using a visual approach with Google Blockly and MIT Scratch being some of the most popular examples.

A visual programming language is not a no-code tool. They might seem part of the same family of tools, and that’s quite right, but under the surface, they are very different. Let me explain. Visual Programming Languages like Google Blockly or Scratch (just to name two popular ones) use blocks like interface where you snap pieces of code together like LEGO. This is beneficial for quite a few reasons:

  • The user doesn’t need to set up a complicated working environment to start coding and they can do so right away from within their browser.
  • Visuals and hearing feedback are also very useful by pointing you in the right direction to better understand which pieces of code can be snapped together and which ones are not, offering a very simple and useful visual debugging. But on the other side, you’ll need to know the language you are trying to write the program for otherwise you won’t even know what blocks you need to use first. Also, this approach doesn’t prevent you from writing bad or buggy code.

In summary, VPLs are for new users and students to get acquainted with a new language without having to deal with the complexity of a full coding environment and their first step towards that.

No-code and low-code solutions, as the name might suggest, are platforms that allow users to create something as complex without having to see or touch code in any form. This is what I call the “casual user” solution, that doesn’t want to know or learn about code but just wants to create something without reading documentation and having to understand how things work in the background. A careful user experience is a key to those tools, that need to be simple and clear without overwhelming the user.

Platforms like Squarespace, Wix and Bubble have greatly improved the experience without having to touch a line of code. (Even if, in some cases, you still have to get your hands dirty).

Advantages of using a visual programming language

One of the biggest benefits of using a VPL is that it is easy for beginners to get started. VPLs typically have a user-friendly interface that allows users to drag and drop blocks or icons to create programs, without having to set up a complicated coding environment or learn a specific programming syntax. This makes VPLs an ideal choice for those who are new to programming and want to learn the fundamentals in a simple and intuitive way.

Another benefit of using a VPL is visual debugging. When working with text-based programming languages, it can be difficult to identify errors or bugs in the code, especially for those who are new to programming. With a VPL, however, users can take advantage of visual feedback to identify problems and correct them. For example, if two blocks of code cannot be snapped together, it is immediately clear that there is an issue that needs to be addressed. This makes it easier for users to write clean, efficient code and helps to reduce the time and effort required to debug programs.

VPLs can be a useful tool for rapid prototyping. With a VPL, users can quickly and easily create working prototypes of programs or applications without having to write a lot of code. This can be especially useful for those who are trying to test out new ideas or concepts, as it allows them to quickly iterate and refine their designs.

Those are some of the reasons why VPLs are great for beginners and non-technical users and can be applied to other fields like education (Google Blockly and MIT Scratch), industrial applications (visualization tools, automated systems etc.) and research (data analysis tools, simulations and more)

Why VPLs are not perfect

There are VPLs for nearly every language but I think that most of them suffer the same problem. VPLs are not a magic tool that will create code from scratch without any effort. You still have to know the basics of programming, what a function or a variable is and get to put it all together to create your program. The main difference from typing code is that you actually use a visual interface to drag snippets of code together. I think this approach is very beneficial for people that are actually interested in the language and are moving their first steps in that direction without having to deal with an IDE or setting up a complicated coding environment, but this doesn’t take into account casual users that just wants to build something without actually putting in the time to understand programming and wants a more “natural” approach.

The landscape of visual programming languages (list of contemporary and established VPLs)

When I first started researching VPLs for Loki I discovered a fascinating world of which I only knew the surface of it until a few years ago.

There are more VPLs than I ever expected, with some dating back to the early days of computers, but unfortunately, they all suffer from the same flaw, you need to understand programming basic concepts first, there’s no way around it.

This might not be a problem for some of you reading this, but the majority of the world today is not technically prepared.

Worst of all, our attention span is getting shorter, meaning that onboarding users to new products need to be as intuitive as possible.

I believe that some products have nailed the process by hiding the jargon and the technical bits under a very well-thought UI.

In conclusion, visual programming languages offer a number of benefits for users, including ease of use for beginners, visual debugging, and rapid prototyping. Whether you are a beginner looking to learn the fundamentals of programming or an experienced developer looking to prototype new ideas, a VPL can be a valuable tool in your toolkit.

If you liked this article and you want to know more about visual programming languages, come to hangout with us on Discord.
At Loki we are building the next generation of visual programming language for Smart contracts.

Visit us at lokicode.io

--

--

Loki.code

We are building the next generation smart sontract development platform easy to use and open to everyone.