This article is about programming languages in general. For the project type, see Programming Language (Project Type).

A programming language is a set of rules and functions that let us use a computer. Programming languages are designed to make it easy for humans to write complex instructions. They function a lot like human languages: they have explicit grammars and a primitive vocabulary. Scratch is a programming language.

Syntax and grammar

Programming languages relevant to Scratch


Squeak was used to program the 1.x series of Scratch. It is a simple language designed to be human-readable and concise. See Squeak Tutorial for a simple introduction.


Adobe's Flash was used to program Scratch 2.0. It is programmed in ActionScript, which was based on ECMAScript.


Python is a simple interpreted scripting language that is used in the Scratch 2.0 back-end (server-side code). The forums run on DjangoBB, a Python library. Python is also used in many Scratch add-ons, including Kurt.


PHP is another server-side language which was used to build the Scratch 1.x server system (ScratchR).


JavaScript is a scripting language based on ECMAScript. It is used to add interactivity to webpages. Snap! is written in JavaScript, as is the front-end of the Scratch website. It is used with HTML and CSS.