|VisualAge C++ v3.0
|- by Dr. Dirk Terrell
The beauty of VisualAge C++, however, is that it is just as attractive to advanced programmers because of its extensibility. The central theme of VisualAge C++ is "construction from parts" and it provides the IBM Open Class library, a collection of hundreds of classes that provide most of the basic entities you need (such as user interface objects, collections, etc.), meaning that most of the time you don't have to write any code at all. However, implementing your own classes in VisualAge C++ is quite simple, and "reusability" moves from the realm of hype to that of reality.
The Composition Editor is used to graphically design an application and the interface is well-designed and intuitive. Parts are placed on a canvas and connections are then made between them (e.g., a button's "Click" event is connected to a text field's "Paste" function). Connections are shown as arrows connecting the parts, with color and line type indicating the type and status of the connection.
The Class Editor is used to deal with details like modifying a part's constructor and destructor code, specifying library and resource files, and code files to be included when the application is built.
The Part Interface Editor allows you to define how a part will interact with others using attributes, events, and actions. Switching between the different editors is a matter of clicking a button in the bottom right corner of the window.
The heart of VisualAge C++ is the IBM Open Class library, a set of C++ classes for building applications that is cross-platform, enabling you to develop applications that can be recompiled for different target environments such as OS/2, 32-bit Windows, AIX, Solaris, OS/400, and MVS/ESA, with HP-UX and Macintosh on the way. Try that with MFC or OWL.
The library contains classes for user interfaces, collections, data access (only DB2/2 at the moment), complex mathematics, exceptions, and data types. I find the String classes quite useful because they have functions that mimic many of the functions available in REXX. The User Interface classes make it possible to design a GUI application for multiple platforms without having to learn the low-level API for each operating system.
Some people may prefer to skip the resource-hungry Visual Builder and code an application manually. In that case it is usually best to start with a skeleton application and then add to it. VisualAge C++ provides a nice tool for doing exactly this called Project Smarts. It can generate skeleton applications for:
VisualAge C++ comes with the venerable WorkFrame (GIF, 12.2k), an environment for organizing projects and performing various actions on them. WorkFrame is a very flexible environment for handling projects other than just your VisualAge C++ projects. I use it to work on Fortran projects with the Watcom compiler, for example. As you would expect, things like building, editing, debugging and execution tracing are available from within WorkFrame. You can even add DOS and Windows tools to the environment.
The editor that comes with VisualAge C++, the Live Parsing Editor (GIF, 16.6k) or LPEX, is pretty good, and you can set it up to emulate the keystrokes of other editors, such as EPM. If you don't like the editor, you can, of course, make WorkFrame use the one of your choice. LPEX performs syntax highlighting (although it doesn't do so until you move to the next line unlike the Borland editor, for example) and automatic indenting. It also does some error checking as you type, detecting a lot of coding errors without requiring a compile. One useful feature is the ability to list the functions in a source file.
The VisualAge C++ debugger provides the usual tools: breakpoints, variable monitoring, and displays of the call stack and registers. It also includes tools like the Message Queue Monitor for monitoring PM messages, and the Window Analysis Tool for viewing a program's windows and their relationships to one another. VisualAge C++ also includes a Performance Analyzer for tuning your program and finding problems.
VisualAge C++ supports Direct-To-SOM, the ability to create SOM objects directly in C++ and have the compiler handle the creation of the SOM interface files.
The documentation is extensive. The hardcopy documentation is thorough, and well-organized, and the online documentation (GIF, 20.5k) is even better.
Installation is straightforward, but, again, the system requirements are steep. A full installation on my machine swallowed nearly 200 megabytes of disk space, with the samples and documentation consuming about 100 megabytes of that. You can, of course, install only those tools and samples that you need. Unfortunately, you cannot install VisualAge C++ to run from the CD. There are many things that would be nice to leave on the CD, such as sample projects and documentation, but the installation program has no option for doing this. That's not to say it is impossible, but it requires some extra work that could very easily be avoided with a better installation program.
IBM appears to have made a glaring blunder with Visual Builder. When you wish to compile your application, you save the file and generate the source code. But, there is no menu item for actually compiling the code! You have to open an OS/2 window and issue the make command manually. It's really not that big of a deal, but detracts from an otherwise polished piece of software.
[Our Sponsor: Surf'nRexx - Build powerful Internet utilities using Surf'nRexx.]
Copyright © 1996 - Falcon Networking
This page is maintained by Falcon Networking. We welcome your suggestions.
Copyright © 1996 - Falcon Networking