A Programmer's Guide to Scratch 3
Written by Lucy Black   
Monday, 27 April 2020
Article Index
A Programmer's Guide to Scratch 3
Hello World
Bounce a ball demo
Expressions and Variables
Where to Scratch next?

Scratch is an easy-to-learn and use language that still has all of the features of a real programming language. This introduction to Scratch is aimed at the programmer. Find out how it works, what makes it special and then teach it to a non-programmer. 


A Programmers Guide To Languages



  1. Octave
  2. Scratch 3 *revised
  3. Node.js *revised
  4. App Inventor 2 *revised
  5. Getting Started With .NET IL
  6. NetLogo *revised
  7. Small Basic  *revised
  8. TypeScript *revised
  9. Google Apps Script
  10. Guide to F#
  11. Python
  12. Google's Go
    1. A Programmer's Guide To Go With Visual Studio Code *revised
    2. A Programmer's Guide To Go Part 2 - Objects And Interfaces *revised
    3. A Programmer's Guide To Go Part 3 - Goroutines And Concurrency *revised
  13. Guide to F#
  14. The Prolog Way ***NEW!
  15. Ruby
    1. Object-Oriented Approach
    2.    A Functional Language

The latest version of Scratch is 3 and this is hosted on the MIT website. There are offline editors for Window, Mac, Android Tablets,Chrome OS and Raspberry Pi, but not for Linux in general at the moment. The simplest thing to do, however, is to go along to the Scratch website, sign up and start writing programs.

What Is Scratch?

Scratch is one of a number of computer languages aimed at getting people, mostly but far from exclusively children, started with programming. If you haven't come across it before, see Scratch not to be sniffed at! for its background.

The idea is to expose the student to the concepts of programming without bothering them with the tedious things like typing, spelling and exact syntax. There is also an argument that the approach used by systems like Scratch is so good that it raises the question why we don't use it for real development? This really is a good question and not one I have an answer to.

Even if you don't think that you are going to use Scratch to teach programming, you really need to know something about its approach to programming - it might be the way we all do it in the future.

Scratch is an easy-to-learn, easy-to-use language.

So, why do we need an introduction to it?

The answer is that, of all the people who encounter Scratch, programmers are often the most mystified.

They expect to sit down and use it without spending any time on learning about it. After all if you can program in X, where X stands for whatever language you already know, then Scratch should be easy.

The fact of the matter is that programmers often learn their skill by doing, and don't often spend hours thinking deep thoughts about what is fundamentally behind what they do. As a result a skilled programmer might well find Scratch to be confusing and not at all about programming.

With these thoughts in mind let's take a programmer's look at Scratch.

This is not an introduction that is designed to be useful to a complete beginner, but an introduction that might enable a programmer to introduce a complete beginner to the art, craft and science of programming.

It really is a whole new way of thinking.

Getting started

Scratch 3 is hosted on the MIT website and there is nothing to download and nothing to install. This is good in that you can get started immediately but if you want to save projects you have to join and provide some details. If you just want to try things out then you can but registering is painless. 

If you have

You simply have to find a user name that isn't already used and supply a password.



At the second screen and subsequent screens you have to supply your date of birth, sex and email address. 

Once you have signed up you are part of the Scratch community, which is clearly aimed at younger people - but don't let that put you off we were all young once.



If you click the Ok Lets Go! button you can then select the Create option and start a new project - this opens the IDE. 

Last Updated ( Monday, 27 April 2020 )