In-Depth

Third-party VB helpers

Programming is programming is programming. There is no real way to make the task easier, faster and less prone to errors. Some higher-order tools may help a bit. Some languages and environments can improve the odds, but most projects are designed and tempered by the toolkit. Visual Basic can ease development of Windows applications, but only insofar as the scale of the project remains in perspective. Grandiose plans and an optimistic project schedule are prone to failure. VB includes a database engine, custom controls, a code profiler, a setup kit and virtually everything needed to create a viable commercial application.

Some metatools are useful but often impose significant learning curves. Some database design tools and workflow planners include the built-in Modeler supporting the Universal Modeling Language (from Microsoft through Rational Software Corp., Santa Clara, Calif.); Bellevue, Wash.-based Asymetrix Corp.'s InfoModeler; Houston-based LBMS' Data Designer; Redwood Shores-based Oracle Corp.'s Database Designer; Concord, Mass.-based Powersoft Corp.'s S-Designor, Rational's Relational Rose, San Francisco-based Centerview's Data Director and Princeton, N.J.-based Logic Works Inc. ERwin Open for ModelMart 3.0. All these tools are excellent.

There are three categories of tools. The first designs the process flow and the logic of the code. The second creates the data structures, indexes, foreign keys and relationships and rules for tables and are useful because they document and check the quality of a programmer's work. The third category includes coding macros and code libraries (for reuse).

To benefit from these metatools, one must invest between a week and a month learning to use them. They are fit for consultants that specialize in architecting workflow and database designs. They are less valuable for small single projects. Large projects benefit from current documentation and the integrated workflow provided by workflow and data structure design tools. In addition, mixing too many tools together, at best, will cause confusion, and at worst destablize the development IDE or the resulting application. This includes using Office97, BackOffice, InterDev and Visio components with VB code, VBA code, and the slow but very functional, VB sendkeys command. This decision must be tempered by the need to distribute costly shrink-wrapped applications to 100, 500 or 10,000 users and the lesser costs of using ActiveX components instead.

Watch out for "toy-mania." It is the nature of developers to want to explore everything new and different. Testing even a single control (and its limitations!) requires a day, or more with some robust controls such as a text editor, a graphics editor, or a hierarchical listbox. A hierarchical listbox is the prominent feature of Windows Explorer, other file management tools and E-mail readers. It is an effective method to present object-oriented items in a list to show the properties, relationships and links to subreferences (such as many-to-many or master-detail data records). However, VB properties, events and methods for every control are different; nothing is exact. Even though Microsoft has published specifications for new ActiveX formats, especially for the object-oriented enhancements suggesting what will be available with VB 6.0, component vendors have to support an installed base of developers and may also think they have a better handle on their niche products.

About the Author

Martin Nemzow is a consulting editor for McGraw-Hill Publishing. His company, Network Performance Institute, Miami Beach, Fla., provides enterprise network design and improvement consulting services, markets capacity planning, and develops and markets shrink-wrapped network configuration software tools.