Scratch

Scratch is a programming language developed at MIT for use in teaching small children (and adults) programming. Unlike most programming languages which use plain-text source code, the code in Scratch consists of graphical blocks that can be dragged around in the development interface (a free download in early versions, and an online web interface currently) to form programs that manipulate objects on the screen. Shapes, colors, and icons are used to distinguish the different things which can be inserted into a program.

Since the code isn't plain text, the file formats used in saving programs are more complex than for most other programming languages.

Version 2.0 can be run straight from a browser, requiring no installations on your computer.

The Hopscotch app is a similar concept. Google's Project Bloks is an attempt at a physical version of such a language, with movable blocks containing electronics.

File formats

 * Scratch 1.4 File Format
 * Scratch 2.0 File Format
 * Scratch 3.0 File Format
 * ScratchX File Format

Links and references

 * Official site
 * Wikipedia article
 * Boing Boing article
 * Learn to Program with Scratch - tutorial to kids' programming language