Which Programming Language Should My Child Start With?

Boy working on a computer

There are over 500 programming languages in the world which may seem too cumbersome or intimidating for a child to begin with. Majorly, Programming languages are made up of two broad categories: block-based programming and text-based programming.

Block-based programming vs. Text-based programming

scratch programming script

Image: Block-based language

python script

Image: Text-based language

Block-based languages were designed to make programming more accessible and interesting to young children. In computer programming, a code block usually consist of one or more statement grouped together. Block-based languages employ simple drag and drop mechanism that enable kids quickly understand the programming concept without intimidating them with a whole lot of typing and syntax. With colourful blocks and cartoonish graphics and characters, block-based languages makes programming really exciting for kids or beginners, especially from ages 4 to 10. They are able to create games, interactive stories, animations, and quizzes very quickly.

On the other hand, text-based programming primarily consists of texts rather than blocks, graphics or sound. It requires typing discipline as a lot of typing is involved. Text-based programming also has rules or syntax that must be obeyed for code to run correctly. For instance, omitting a semicolon or using single quotes in place of double quotes in certain places can make the program not to work. Text-based languages require more concentration and as such could discourage young children with short attention span. Older children from 10 years and above will find text-based languages more tasking and challenging.

 

Recommended Block-based languages for beginners

Scratch

Scratch is a programming language that makes it easy to create interactive art, stories, simulations, and games. It was developed by MIT Media Lab. It can also be used for a range of educational and entertainment constructionist purposes from math and science projects, including simulations and visualizations of experiments, recording lectures with animated presentations, to social sciences, animated stories, and interactive art and music. The only downside to Scratch is that the projects created cannot run outside the Scratch environment.

App Inventor

Another block-based language that is used to create android mobile apps. It is similar to Scratch in that it uses the same drag and drop mechanism to create blocks of code. Apps created on App Inventor can be downloaded to Android smartphones for testing.

Recommended Text-based languages for Beginners

For beginners looking for something more than block-based languages, Javascript and Python are options to explore.

Javascript

JavaScript is a programming language that adds interactivity to your website (for example: games, responses when buttons are pressed or data entered in forms, dynamic styling, animation). JavaScript is easy to learn and incredibly versatile. You can start small, with carousels, image galleries, fluctuating layouts, and responses to button clicks. With more experience you’ll be able to create games, animated 2D and 3D graphics, comprehensive database-driven apps, and much more!

Python

Python is a general purpose programming language that is used for creating web apps, automating simple everyday tasks on the computer, building video games, testing microchips etc. It powers popular applications like Instagram, Google, Youtube, Dropbox etc. Python is highly readable as it very closely resembles the English language. This is a great advantage for young children and beginners.

In a nutshell, it is highly recommended for any kid/beginner to start up with block-based programming– no matter the age— then later progressively move into the text-based. This would help the child in understanding the fundamentals or basics of computer programming and to develop a programmer’s mindset.