One of the main references of the popularity of a programming language is the so-called ‘TIOBE Index’, which is based on data provided by up to 25 different search engines to find out how interested users are in each of them.
Thus, certain ubiquitous languages (such as C, C++, Python, and Java) can remain at the top of the Index for years, while the lower ranks see much more movement, even sudden jumps in the popularity of a particular language.
The latest example of this is scratch, a programming language that we usually put aside because “it’s for children”. A little over a year ago, Bryan Braun, a frontend developer at the Formidable consultancy, said the following on his blog:
“While none of us paid attention to it, Scratch has gone from being [sólo] a programming language for children to a huge online community of self-taught programming students. Its usage has doubled since the pandemic began and the language now already surpasses ‘real’ programming languages like Typescript and Rust.”
Again, that was over a year ago, when he was ranked 21st in TIOBE. In its latest update, however, it has risen no less than ten positions, until it is at the very gates of the TOP 10: A look at the ranking shows Scratch just below Visual Basic, SQL or Assembler… and just above Go, MATLAB and Fortran.
As Brawn said,
“The TIOBE index is imperfect, but clearly something is going on here.”
Another programmer, Jan Kammerath, stated the following a few months ago in his blog regarding the rise of Scratch:
“Scratch, on the other hand, has taken rapid application development (RAD) to the absolute extreme. The building process with Scratch is so blazingly fast, and the output so blazingly good, that it’s slowly becoming a serious choice for apps.” serious”.
The programmer career in 2017 and in the future (with Javier Santana)
But what is Scratch?
Scratch is a visual programming language that was created by a group of MIT researchers with the aim of teach programming in an accessible and fun way, especially to children and programming beginnersto whom it is easy to introduce both the concepts of programming logic and the development of problem-solving skills.
Several of its distinctive elements have intervened in its success:
- Graphic interface: Scratch uses a graphical interface where programmers can create projects by dragging and dropping blocks of code onto a virtual canvas. This eliminates the need to write code in traditional programming languages, making entry easier for beginners.
- code blocks: Programs in Scratch are created by assembling blocks of code that represent actions and operations. These blocks are organized into categories such as “Motion”, “Appearance”, “Sound”, and “Events”. Users connect these blocks to create sequences of instructions.
- Focused on multimedia: Scratch is versatile in terms of multimedia. You can add sounds, music and graphics to your projects to make them more attractive and dynamic.
- Focused on video games: In Scratch, programmers can create characters and settings for their projects. They can program the behavior of the characters and define how they interact with their environment.
- Focused on collaboration: Scratch has an online community where users can share their projects and see those of others. This encourages collaboration and peer learning.
- Cross platform (to develop): Scratch is available as a web version, but can also be downloaded for offline use on Windows, macOS, and Linux.
- Cross platform (to run): Scratch projects can be ‘packaged’ using free external tools (such as TurboWarp Packager), which allow you to convert them to HTML files or executable programs for Windows, macOS and Linux.
Image | Screenshot + AI-generated image of Marcos Merino
In Genbeta | Learn the basics of programming with this free two-hour course for beginners