Programming well is a complex task and requires deep understanding of the concepts being manipulated. By way of Sean McGrath and Eric Newcomer comes this thread that is well worth discussing Programming ain't pictures - yet .
The big gap is between those who believe that programming can be done in the whole through a visual metaphor with minimal understanding of the underlying mechanics and those who believe that it is a tool that can assist experienced developers to be more productive. I am more in the later camp, for two reasons, 1) havng spent a lot of time with craftsmen who use tools to work metal and wood I know that the result depends on the craftsman not the tool. (no matter how good the tool I still have two left thumbs) 2) As Sean makes the point everything today is based on imperative and proceedural logic, until computers are based on a new set of concepts, visual programming is always going to assist experienced developers rather than replace them.