Labview is an excellent example of the limited scope of usefulness for graphical programming languages. The "front panel" layout features of Labview are great: for quickly whipping up a GUI, it's far easier to drag-and-drop interface widgets than to code up a layout by hand. The back-end "wiring diagram," however, is generally a royal pain to work with, as soon as you start trying anything remotely complex. There's a small scope of problems for which the ease of expressing parallel, event-driven logic in a 2-D layout is convenient; however, one quickly finds themselves burning huge amounts of time meddling with visually positioning elements in a comprehensible way for tasks that would be trivial in textual representations. There's a reason that people moved away from programming computers by manually re-wiring connections between simple hardware units. Much of Labview's visual programming interface represents a regression to the flexibility and ease of use of computers prior to 1950.