Scratch is a graphical drag-and-drop language developed by MIT.
Scratch is a graphical drag-and-drop language developed by the Lifelong Kindergarten Group at the MIT Media Lab. It is used in a number of grade schools and other educational institutions to teach principles of programming.
It primarily focuses on developing games or other graphics-intensive applications, but it can be used for other tasks as well.
The code interface consists of 'blocks' that are dropped into the editor window and then hooked together to perform tasks. Manipulation of 'sprite' objects is the main focus of the language.
Scratch has inspired several similar programming interfaces, which use its block-manipulation approach to programming.
Other block-programming tools include Snap (also known as Build Your Own Blocks), which extends Scratch with first-class data and better routine-creation tools, Enchanting, which allows programming the Lego NXT controller, and Google's Blockly, which provides generic tools to allow any programming language to be programmed with a block interface. Also Scratch Jr, which focuses on coding for young children (aged 5-7 years), the blocks are placed horizontally instead of vertically like Scratch, as younger children found this easier to understand.
Scratch's official wiki contains documentation and tutorials about all features of Scratch.
Scratch's official discussion forums also contains information concerning Scratch.