Starting with Blockly

Website Developer
Seattle Programmer
Published in
8 min readDec 22, 2020

Overview:

To start off, Blockly is used by Javascript. It is a client-side library and creates block-based programming languages for editors. Blockly is not necessarily a programming language by itself, but instead, a library for Javascript and other programming languages. It is mainly used to make writing code easier. Blockly uses visual blocks that join together to simplify coding. Some coding concepts that are simplified by using block programming include concepts like loops, variables, logical expressions, and more. It can generate code for Javascript, Python, Dart, PHP, or Lua. There are many more programming languages that Blockly can export as well, but those are the most popular.

A lot of people say it is visually similar to the programming language Scratch. Scratch is also another block-based programming language that is used to help children learn to code. MIT also developed it; therefore, Blockly and Scratch share many similarities. A large amount of Blockly users view it as a very intuitive and visual way to understand coding. They say it is like a “jigsaw” tool for coders.

Amongst the best coding languages for kids, students, and beginners, Blockly is listed as the fifth-best coding language. They say it is a great language for a bigger variety of age-groups compared to others because of the flexibility and experience curve. For example, the programming language Scratch is a popular block-based language as well, but it is designed for more of a child rather than a teenager. The whole interface and design were set up for a more kiddie type of experience.

History:

Blockly was developed by Google and MIT. The development of Blockly began in the summer of 2011. The very first time Blockly was released to the public was in May of 2012 at a place called Maker Faire. Originally, Blockly was supposed to be a replacement for an application called “OpenBlocks”, but then it eventually just became it’s own. A guy who goes by the name of Neil Fraser started the project and worked with Quynh Neutron, Ellen Spertus, and Mark Friedman, who all helped contribute towards the development of Blockly. Now, it is widely used throughout many notorious projects. Some of these projects include MIT’s App Inventor (used to create applications for Android), Code.org (a website that teaches students how to code), SAM Labs (an application in STEAM), etc.

Google has recently hosted an event called the Google Blockly Summit 2019. This summit was a two-day event that involved a wide selection of speakers from the block-programming world. This event was located at Google’s Mountain View campus. At this summit, a bunch of programmers talked about many new features that are soon being implemented into Blockly.

For further history of programming languages as a whole, they have been newly introduced fairly recently. The first working programming languages were created to send instructions to a computer. This was made in the early 1950s! That was not even a century ago. This also means that there is so much more to explore and create programs. The first programming language was called Plankalkül. It was developed by Konrad Zuse for his personal computer. However, it was not utilized during the time. Then, the first functioning programming language was proposed called John Mauchly’s ShortCode. The Short Code was an automatic arithmetic program that was executed to simplify the programming process. There was a downside: the execution time was much slower back then.

Platforms:

Blockly typically runs on a web browser. A web browser is any software application that requires you to access information on the internet. Hence, it browses the web. When a user wants to access a particular website or web page, the web browser gets the content from a specific web server and displays it on the screen. All the applications that use Blockly is usually a website. That means that to use Blockly or most other educational block-based language websites, the browser receives content from the server. In this case, Blockly was developed by Google Inc. That is why it is compatible with most of the major web browsers. Google Inc has connections or is incorporated in many web browsers. This includes Internet Explorer, Safari, Chrome, Firefox, and Opera.

Web browsers are very important as a whole since it allows us to access and browse the internet. The person who invented the World Wide Web is Tim Berners-Lee. With his invention of the web, people all over the world can go online to do various tasks. In this situation, Blockly and lots of other programming languages that make use of the user interface are on a web browser.

Benefits and Downsides:

Benefits:

Block programming languages such as Blockly reduce the learning curve for beginners trying to learn how to code. The interlocking blocks that represent coding actions make an interactive environment for students and first-timers to start coding because it shows what certain code can connect with other pieces of code. Therefore, it is easier to understand what to do when you are writing code and the basics.

Programming languages that make use of blocks tend to have a variety of commands to choose from that are already premade. This makes programming become drastically easier since there is no need to memorize commands. To add on, it teaches the syntax for the specific programming language. The inclusion of interlocking blocks forces beginners to learn the correct order and arrangement of code to execute the program. It also will help eliminate basic errors and avoid spending most of your time to debug your code.

Blockly is also great in the sense that it is a very exportable code. Users can easily extract their block programs to other common programming languages and changed them to text-based programs. Also, Blockly is great to use to simply coding because it supports more than 40 programming languages.

Downsides:

Due to the simplicity and guidance of block languages in computer programming, it does not represent the raw coding experience. The blocks add on as guiding tools to help facilitate what you can and can not write in coding. Thus, users do not understand the true experience of coding without those stepping stones. Professional programmers would look at Blockly as a programming language used by kindergartens. Overall, the ultimate downside to Blockly is the fact that it is not associated with professional coding and is viewed more as a language meant for beginners.

It is significantly slower to code in block-based programming languages compared to typing out code. If one is fluent in a particular programming language, the user can input commands a lot quicker than a person dragging blocks. Therefore, it is a lot more efficient to code regularly in professions as opposed to block-based languages. It is recommended that beginners should start with block-based languages to understand the syntax for coding, but move onto text-based languages soon after they have mastered the block language.

Examples of Code:

If statement:

If statements allow you to execute a set of instructions when it is in a given condition. It will do certain actions if it meets the condition and will do another set of instructions when it does not meet the condition. This is vital in programming since it allows the program to do a certain set of instructions based upon user input. For example, a user can input an integer and if the integer meets the requirement, it will display a message. If the integer does not meet the requirement, the program will display a different message. This could be used for a variety of different tasks. The example I gave would be beneficial for say a website checking the age of users.

Loop:

Loops are a programming structure that repeats a set of instructions until it meets a certain condition. They are mainly useful to cycle through values or repeat functions. For Blockly, loops are extremely easy to program due to the blocks. They allow you to drag out the structure so users can pick and choose what they want to be done within the loop. With this integrated into the program, it is hard for users to experience syntax errors due to the interface being able to detect what can be inside the loop.

Trends:

The most popular places that use Blockly would be schools and/or other educational sources. This is because block-based programming introduces coding as a more interactive and understandable learning environment. A very popular educational website that many schools use to teach coding is Code.org. This website makes use of Blockly to create a visual programming environment for students. Many students, including myself, have enjoyed using block-programming

Developers do not make use of Blockly because it is not text-based programming. Text-based programming is the formal language that is used to write almost every program. Developers and programmers are already professionals in terms of coding, so they do not make use of block-programming. Usually, block-based languages are used to increase the readability of code, increase the ease of use, and improve knowledge of coding. Programmers already mastered all of these aspects, which explains the low usage of Blockly in terms of program developers and professional coders.

Takeaway:

Overall, Blockly is a great alternative for people who want to get into a complex programming language. Since Blockly offers a wide variety of programming languages that can be used, it is a great way for someone to start learning a specific language. Block-based programming allows users to understand certain concepts that are needed in those more complex programming languages. Developers and programmers can use Blockly to design drafts or prototypes of certain projects before finalizing their program. Although Blockly is very simple, it can greatly help through the development and workflow of programs due to its visual aspects in a coding environment.

Blockly is also extremely easy to navigate through and understand. This programming language includes many safety nets for errors such as syntax, logic, and arithmetic errors. It is a great gateway for starting programmers. On top of that, the accessibility of the language is fantastic for everyone. It is one of the most versatile languages in terms of platform availability. All of these aspects make this a great language for almost anyone to pick up and learn! I have personally used Blockly when learning how to code on Code.org and they make it easy for anyone to understand coding due to the lessons they have included to help teach each particular coding structure/procedure.

--

--