Logo language from MIT introduced programming to children and people without a background in software programming — but you still had to type all the commands. Scratch from MIT is the evolution of that concept but with a visual programming paradigm: you drag and drop blocks and construct the program logic. Blocks have sprockets which you allow you to chain them like lego blocks. The system will not allow to hook up blocks that don’t go together. Blocks are conveniently grouped via color into Motion, Control, Looks, Sensing, Sound, Numbers and Pen. You can make changes (add, remove blocks or modify parameters) while the program is running and see/hear the new behavior.
Scratch is written using Squeak which is an open source implementation of Smalltalk programming language and environment.
You can share the projects you create at the scratch web site. A sample scratch program is shown below.
You can also store your project on a server as an applet which can be downloaded into any java capable browser. You can see the output of the above program by clicking here.