Human perceive pictures and diagrams much better than words. We also like to read books with pictures more than a book without any illustration. Visual programming language takes advantage of what we are best at and let both programmers and non-programmer understand programs much better and faster.
Since the development of graphical user interface (GUI), many programs have moved from text based to window based. This allows user to perform operations with point-and-click action with the aid of a mouse rather than having to memorize all the combination keys. With this GUI, visual programming environment allows users to insert, cut, paste and delete any block or module with little effort. Compare this mousing procedure with typing in codes statement by statement, visual programming is definitely more efficient.
Programming with visual programming language is a little more than building a flow chart, hence,it is easy to learn and master. Users of VisSim has commented that they took as little as 2 hours to figure out how the language work. This is very different from the traditional programming languages, like Pascal, FORTRAN or C, where programmer may take up weeks to learn the syntax of the language.
Unlike traditional textual languages where programmers have to follow the program statements by statements or blocks by blocks in order to understand a program, especially if there is no documentation at all. The flow chart like pictorial syntax of the visual programming language, on the other hand, is very easy to follow.
Flow chart allows programmers to follow the flow of the program. If there is a logical mistake, it is easier to trace and make necessary changes. Some visual programming environment like the one ProGraph has guarantees that you cannot make any syntactical incorrect diagram.
Visual languages force programmers to model their program and also has the ability to show results at various point of execution, it is used widely for real time simulations.
Visual programming languages force programmers to program in blocks, and models, programmers have to learn how to model their problems. By doing so, programmers are also employing the Divide-And-Conquer method to solve their problem.