Visual programming is way to write software by manipulating program elements graphically rather than by specifying them textually. Visual programming isn’t a new concept, it goes at least back to 1975. There are various reasons why Visual programming is sometimes easier way to write code than traditional writing text source code, but it does not suit to all tasks. Will Visual Programming Ever Go Mainstream? That’s hard to say. Critics have mentioned various problems with the paradigm, not the least of which is that programming is hard. Sometimes programmers find the approach useful at least in learning.
Comparision of textual and graphical programming has a good overview of those different ways to write code. With Textual Programming Language you have Low level of abstraction: programming is done at the level of implementation. Inaccurate description of the problem-domain. With Graphical Programming Language you typically work at Higher level of abstraction: programming done on a conceptual level.
Then talking about Visual programming the first tools that usually come to mind are Unified Modeling Language (UML) and LabView. Audio programming environments like MAX/MSP take advantage of visual programming concepts, and more recently mashup creation tools like Yahoo! Pipes and JackBe Presto have adopted the paradigm.
What about Arduino and visual programming? There seems to be some push for that. There are several projects that try to do that.
You can do all the graphical code editing on your browser and get out source code that you can copy to Arduino IDE.
There are also other options to do the same. Visual Programming Arduino: modkit and the others article reviews many other tools for that.
EduWear objective is to develop an educational low-cost construction kit for wearable and tangible interfaces.
Babuino is a software program that combines the power of the Arduino hardware platform with the intuitive and fun Logo programming language using a click and drag GUI interface. This allows even young children to build their own programs and run them on a microcontroller.
QP is a lightweight, open source, state machine framework for microcontrollers such as Arduino. You can think of QP as a modern real-time operating system (RTOS) specifically designed for executing concurrent state machines. QP is now supported by the the free graphical QM modeling tool, which can automatically generate complete Arduino sketches from state diagrams (can also generate C or C++ code).
DesignNews writes that MathWorks’ Simulink Offers Easy, Graphical Programming for Raspberry Pi & Arduino. It allows you to debug your model (embedded software) before deploying it onto hardware.