Until recently, learning to code was a privilege for adults. However, recently, children have also been actively understanding development. Of course, the main goal of teaching a child is not to learn how to write complex applications. Rather, it is an introduction and training in order to learn one of the most popular development languages in the future and build a career in IT. In this article, we will discuss the most popular and common visual programming languages.
Scratch
This is one of the most popular visual programming languages that is suitable for teaching development to children of different ages. Created by Mitchel Resnick, a professor at the Massachusetts Institute of Technology. The main goal is to involve children in the learning process. Moreover, scratch is successfully used not only for teaching the basics of programming, but also in math lessons, for example.
The creation of Scratch, as well as its further development, is ensured primarily through interaction with the well-known LEGO company. This is what made it possible to start teaching robotics for the little ones based on the same visual programming language.
Unlike many other developer tools, Scratch doesn't require syntax knowledge. There is no need to write code here, which would be difficult and, above all, tedious for any child. Instead, ready-made blocks are offered that will help the child understand the basics and principles of development in general.
Scratch, for example, makes it much easier for kids to explain basics like functions, cycles, and branching. Moreover, as a result of his actions in Scratch, the child creates some kind of game or animation, which is also very exciting. Scratch has several versions. The latest to date is 3.0
App Inventor
This is another visual development environment that makes it easy to create any Android application with minimal development knowledge. This programming language is not used in training. However, it can help you get an idea of the basics of programming. App Inventor is the brainchild of Google. Another fairly popular visual programming language, Google Blockly, was developed from an early version of this software product.
Google Blockly
This product by the well-known Google company is a library for creating a visual programming environment. It appeared in 2012 and has been actively developing ever since. It is mainly used for educational purposes. As with Scratch or App Inventor, developers don't need to write code to create programs. There are ready-made blocks that need to be dragged.
This library has cloud storage that allows you to share apps you've created with others. Blockly has been translated into many languages, including Russian. However, do not forget that the programming language is English. Therefore, it is worth studying it.
Alice
This visual programming language was introduced back in 1998. Developed by Carnegie Mellon University. It is written in Java. The latest version of the language appeared in 2013. In other words, it is not developing as actively as many of its competitors, including Scratch.
The principle of working with Alice is the same as with other similar environments and platforms. The user drags and drops ready-made blocks to create programs. However, the interface itself looks a bit more complicated and the language, in general, is designed more for training adult programmers. Although children who confidently read English can quite well understand all Alice's intricacies.
eToys
This visual programming language was created in 1996. Developed by Alan Kay based on the Squeak programming language (based on classes). The idea behind eToys is about the same as Scratch's: to create a platform that would allow children to easily learn the basics of programming without using code.
In the program, you can create any type of animation, that is, make ready-made applications using the proposed blocks, wrapping them into functions. It is also possible to test already created applications using eToys's internal resources. Many experts believe that eToys was the prototype for the future visual programming language Scratch.
KTurtle
This is another visual programming language designed specifically for teaching children how to develop. From the name it is clear that we are talking about a turtle. It is with the help of a virtual turtle that the child will learn the basics of programming.
This visual programming language is designed specifically for kids. The game is based on a turtle, and the developer needs to program to make it move. The language is based on Logo. This platform, like all the others, uses a ready-made set of commands that allow you to animate different scenes (not just turtle behavior).
Snap!
It is translated into Russian as a click. The idea is that a developer can write apps at the snap of a finger. That is, quickly and with a ready-made set of commands. Snap is here! In 2011. Its developer is Brian Keith Harvey. This visual programming language can be used to teach children of different ages.
Snap! was created as one of the sequels of Scratch's ideas. This platform has a very user-friendly interface. The screen is divided into three main areas, each with its own functionality. It offers a set of ready-made actions that can be combined and, thereby, create games and various animations.
Why visual programming languages?
And really, why not start with plain text languages like JavaScript, Python, or Java? The advantage of visual platforms in this case is that they make it much easier for children to understand and understand programming. That is, they seem to remove from programming everything that the child does not need at the stage of learning the basics, allowing them to quickly go from idea to final result.
For example, in order to make a simple animation in Scratch, the child will use only a few ready-made blocks. It is much more difficult to do the same thing, for example, in JavaScript. At least, the child will get to his first animation in JS much later, as he will have to learn the syntax, which can take up to a year.
Why not start learning the syntax right away?
This is also a very reasonable question. For an adult, this is the only correct path. But let's not forget that an adult who studies programming has very specific goals. For example, he wants to become a developer, change his field of activity, and expects a higher salary.
The kid doesn't have such a goal. Therefore, it is important for him that the result is as close as possible to the time when he starts programming. If you start teaching young children the syntax of a programming language, they are likely to quickly get tired and lose interest. This is why visual languages have been developed. They help you learn the basics of development, understand functions, branches, variables, and only after that, if you want to continue, your child will be able to start learning one of the text-based programming languages after a while.