Visual programming is the use of graphical development tools to generate code. Traditionally, graphical development tools have been used primarily to generate the user interface of an application. The application logic still needs to be developed by hand. While a JavaBean may certainly implement a user interface component, say a 3 D bar chart, it may just as well implement a scientific function like a fast fourier transform. Visual development tools that support JavaBeans, such as Imprise's JBuilder, Sun's Java Workshop, and Symantec's Visual Cafe (see Chapter 15 for more info on these tools), allow you to graphically manipulate JavaBeans, modify their parameters, and combine them into new JavaBeans.