Scratch is a big deal

While none of us were paying attention, Scratch has transformed from a programming language for kids to a massive online community of self-guided, student-programmers. Usage has doubled since the pandemic started and the language is now overtaking “real” programming languages (like Typescript and Rust) in language popularity rankings.

Scratch is a big deal.

If you’ve heard of Scratch, you likely know that it’s a programming language for kids that uses visual blocks like these:

Visual coding blocks from the Scratch programming language

Like many pandemic parents, I recently introduced it to my kids. Over time, it started to catch hold and I realized that there was more beneath the surface. I decided to take a closer look and this is what I found.

More than a programming language

Scratch is an online programming environment, hosted at scratch.mit.edu. It uses a visual editor that looks like this:

Visual editor for making Scratch programs at scratch.mit.edu

The language and editor are tailored towards making games, animations, stories, and other visual things. Scratch users (Scratchers) can create and save projects to their account and share their projects publicly.

Sharing projects is where things get interesting. Scratch isn’t just a language—it’s a community.

The Scratch website makes it easy to browse other people’s projects, “love” and “favorite” them, add comments, view source, and remix them as your own. You can follow other users and work together to curate collections of projects called “studios” (which can also be followed and commented on).

In this way, it’s kind of like Github or Codepen, except that Scratch is for kids. The age distribution of new Scratchers peaks at 12, with the majority under 16:

A histogram, showing that the most common age for new scratch users is 12

It was the community aspects that really drew in my kids. They would get really excited whenever somebody followed them or “loved” one of their projects. It gave them the motivation to build more ambitious things.

It’s pretty impressive how ambitious the projects get. Scratchers often build copycats of “real” games like Cut the Rope, Super Mario Bros, and Terraria. Features like cloud variables allow them to make online multiplayer games, like Taco Burp (popular in my house):

A player attempts to eliminate other players by burping tacos at them.
Me, taking out 9-year-olds, like a total boss.

Someone even built Scratch inside of Scratch 😱

A scratch-like programming interface embedded inside of the scratch editor.
It was only a matter of time.

Seeing projects like these was a “wow” moment for me. Scratchers were building projects that rivaled the best things I had seen on Codepen. All in a visual programming language for kids!

Beyond the editor, there are a bunch of other resources that help kids be productive:

So, no, Scratch isn’t just a programming language. It’s an ecosystem of apps, resources, and community features for giving kids a positive first experience with programming. And it’s downright impressive.

Scratch at scale

Like many online activities, Scratch usage grew during the pandemic, but unlike others, it’s not slowing down:

A graph showing monthly active users on scratch.mit.edu growing consistently since 2012
Notice that there's a cyclical usage pattern that follows the school year. It peaks in the spring and the dips in the summer, which gives us an idea of how much Scratch usage can be attributed to use in school.

This recent growth has caused Scratch to break into the Tiobe index's top 20 most popular programming languages. At the time of this post (July 2022) it ranks 21st, above Typescript, Rust, Julia, and other important languages. The Tiobe index is imperfect but there's clearly something happening here.

With this new popularity, Scratchers like Griffpatch, Will_Wam, and others have become mini-celebrities, collecting hundreds of thousands of followers on scratch.mit.edu and other platforms (Griffpatch has 175k+ subscribers on his Youtube channel where he posts Scratch tutorials on gamedev topics like background-scrolling and raycasting).

You can find more statistics on the community statistics page and in the Scratch Annual Report. By every measure you can think of, Scratch usage is booming (worldwide!) and shows no sign of stopping.

Why (I think) it works

Scratch has a lot of good things going for it.

It’s free (thanks to the Scratch Foundation) and the tutorials provide a gentle on-ramp, making it easy to adopt in school and at home.

The platform has strong community guidelines and it’s well moderated (at least my family hasn’t run into any sketchy content yet).

Most importantly, browsing projects shows you what’s possible. A kid begins by playing games, starts to get curious, and next thing you know, they’re changing the code to give themselves extra lives.

This didn’t come out of nowhere. It’s the realization of over 50 years of effort from programmers and educators, standing on the shoulders of giants like Logo and LEGO Mindstorms. Look up constructionism if you’re curious!

If you care about programming education and you’re looking for a good cause to donate to, I think you’d be hard-pressed to find something better.

And if you know someone young who’s interested in programming, tell them about Scratch. Let them play user-created games for awhile. The source code is just a single click away.

Comments