A colorful and easy-to-use open source language for programming has reached v0.8. Minibloq is fast and compact and is a great way to program the Arduino productively, even if you are an adult!
The Minibloq programming language is an open source visual language in the style of Scratch, Lego Mindstorms or the Android App Creator. However it targets the Arduino and other "physical computing" devices such as robots. The key idea is that it is easy to use. Such visual languages are often said to be ideal for kids and a great way to learn to program, but this misses the point that anything that makes programming easy enough for a small child to learn has to be a good way for an adult to program productively. In other words don't dismiss visual programming languages simply because they look colorful and at home in a kindergarten.
Minibloq has just reached v0.8 and it is very usable and free to download. It needs Windows XP, Vista or 7 to install and it can be used to program any Arduino board as long as it comes with a standard driver. If you want to use it under Linux then it has been tested under Wine and Wineskin on OSX.
Once installed, you can program using the usual drag-and-drop blocks editor style of working. The novel features are that you have a simulation of the hardware and the code corresponding to the visual program can be seen in another window. You can create your own blocks and according to the documentation interfacing it to new hardware is possible.
You can get a rough idea what it is all about from the video:
The whole system is written in C++ (gcc) using wxWidgets and hence it is fast and compact.
Google Research is working on a new initiative to introduce kids to computing in ab entirely hands-on, physical way. A prototype has been produced to show how it the tangible programming approach  [ ... ]