Content area
Full text
Visual programming tackles the problem of bringing computing facilities to people who do not have extensive computer training by using visual (ie., nonlinear) representations In the programming process. In this paper, we first define visual programming and briefly, discuss its many facets. The purpose is to lay a conceptual background so that common understanding can be established and various aspects of visual programming can be focused on and examined. We then concentrate on visual programming languages, namely, languages that enable the users to "program" with visual expressions. Examples are used to Illustrate three fundamentally different approaches: diagrammatic, iconic, and form based. Finally, we show that FORMAL, a system developed and Implemented at the IBM Los Angeles Scientific Center, not only captures the spirit of visual programming languages but also has the capability to automate a wide variety of common data processing applications.
Programming can be defined as specifying a method for doing something a computer can do in terms the computer can interpret. In order to get something done on a computer, there is a division of labor: a human to specify to a computer; the computer to interpret and execute. The traditional programming approach requires a great deal of human effort because programming languages were designed primarily for efficient interpretation and execution by computers. Until recently, very little attention was paid to whether it was easy for end users to do the specification because it was commonly assumed that only those having highly trained programming skills would write programs.
The situation has dramatically changed in the last few years. The rapid decline of computing costs, coupled with the sharp increase in the number of personal computers, has expanded substantially the population of the user community and its drive for computerized applications. However, to many people, the usefulness of a computer is bound by the usefulness of the canned application software available. Those who wish to use the computer to do something beyond the capabilities of the canned programs discover that they will have to "program."
Learning to program, unfortunately, is a time-consuming and often frustrating endeavor. Moreover, even after the skill is learned, writing and testing a program is usually a labor-intensive chore. Many people shy away from it simply because they...





