| OCR Text |
Show 1.2 Difficulties of Visual Programming When dealing with abstract objects, the powerful principl of "what you is what you get" is not much help. Grafton [12] notes that wh r as r pr s nting abstract ideas in a graphical manner is a powerful form of communication, th r is no theory to guide us. Questions arise as to how to map certain programming constructs into "natural" and "consistent" graphical representations, e.g., recursion, conditionals, and loops. One must also decide to what degree "flexibility of expression" is allowed and how data types and parameter passing are to be represented. Ranking top as one of the main concerns surrounding visual programming is visual clutter. Visual clutter is a problem which occurs when too much information is displayed in too small a space. It can be extremely difficult to visually identify relevant information on a cluttered display. Compacting more and more information into a smaller and smaller space complicates the programming process and makes the visual feedback unintelligible. It is clear that not all of the information relating to large programs should be displayed simultaneously. Conventional languages have a similar problem in that the screen size limits how many lines of text may be displayed at one time. Because the display of information must be controlled, tools must be provided which give the programmer control over abstraction and mobility. Abstraction is the process of removing uninteresting and unwanted attributes from view. Mobility, or navigation, is the process by which one traverses through the program space changing the current view as necessary, e.g., switching from a control flow view of a subroutine to an abstracted control flow view of the entire program. These tools must help the user maintain a sense of control and versatility. By allowing freedom of navigation with varying levels of abstraction, complexity is managed and productivity is increased. Ideally the program should conform to the user's style rather then having the |