There is no shortage of visual languages for teaching kids to code (Scratch, etc) and there are a few for specific applications (Simulink, Labview) but I have never heard of one gaining mainstrean acceptance.
I can think of a few advantages off the top of my head:
1)Less fighting with syntax
2)Easier for beginners to pick up
3)Easier to find logic errors (in my opinion)
The main disadvantages I see is:
1)that it is slower to develop in
2)historically everything has been text so people are used to it
Any other thoughts on advantages and disadvantages? What would make you use a visual programming language?
2. Spaghetti code: Read the Dijkstra's paper on Goto, and mentally replace 'goto' with 'line'.
3. Text labels: Many graphical languages have lots of text labels in the display.
4. Limits: There is a human visual limit of about 50 items in a graphical picture, unless there is a underlying graphical semantic context such as geography or time series.
5. Too Big: Once the diagram is larger that one screen, navigation and comprehension become exponentially more complicated.
6. Graphical API: Not clear what is the graphical equivalent to modules, namespaces, packages, etc. How would you package reusable code and make an API available?
During the 1970's, I spent years working on CAD tools, including logic schematic entry and IC layout programs. This was using graphical tablets in the pre mouse era. Even simple 8 bit microprocessors were too complex to draw schematics on a display, and barely possible to layout by hand on a display. I note that today logic design is using text languages such as Veralog, and layout is mostly automated.