Dr. Dobb's is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.


Welcome Guest | Log In | Register | Benefits
Channels ▼
RSS

Five Essential Developer's Tools


March 1997: Five Essential Developer's Tools

Any strong, flexible toolset should include these five must-haves.

Requests and requirements are thrown at programmers from every which way. "Write me some reports," "Get statistics on the last project; we need to customize the install routine for this application," "Can you test this application on another operating system?" Sometimes they come so fast and furious they can make your head spin. Multitasking is one thing, but chaos just gets in the way of getting your job done.

To finish these chores and still get home in time for dinner, programmers need help. As Fred Brooks pointed out in the classic software guide The Mythical Man Month: Essays on Software Engineering (Addison-Wesley, 1975), having a strong, flexible set of tools is a key advantage. In the late 1960s, the time Brooks was writing about, there was no shrink-wrap market. Instead, he recommended that each programmer be assigned a junior who could manually roll these tools on a custom basis. Now, of course, circumstances are very different. You can pick up a phone and have high-powered applications suited to your needs delivered the next day-or sometimes you can download trial versions off the Internet.

In this article, I'll look at five products that are strong examples of the essential programs that every developer should have: Mortice Kern Systems' MKS Toolkit, InstallShield Corp.'s InstallShield Express Professional, V Communications' System Commander, Seagate Software's Crystal Reports, and PowerQuest's Partition Magic. As much as possible, I've selected products that are best-of-breed, although they may not be the right choice for each of you. Use the discussion here as a guide to making your own evaluation, but don't try to face the corporate jungle without a toolbox that can smooth your path.

MKS Toolkit 5.2

UNIX is known as the programmer's operating system because it comes with so many utilities that you can use individually or in concert to form a powerful tool chest all in itself. Mortice Kern Systems has collected almost 200 of them and rewritten them for every Windows and OS/2 platform. Of all the products discussed in this article, MKS Toolkit was the one the developers at my company were admiring.

Listing all the programs included is not practical, but among them are powerful versions of the following: make, grep, Perl, vi with both graphical and command line interfaces, kornshell, cpio, sed, tar, diff, uuencode/uudecode, vdiff, AWK, Visual Pax (a graphical front end for UNIX-style archives), and other scripting and manipulation tools. One unfortunate problem this product has is that system shortcuts (the commonly acceptable way to launch programs in Windows 95 and Windows NT) are not set up correctly if MKS Toolkit is installed to any directory besides the default. Note that the applications will mostly still run if launched from Microsoft's Explorer, but not from the Start menu. Reinstalling to the default directory resolves this issue.

Maybe because MKS Toolkit is such a full-featured product, it's difficult to know exactly what to say about it. All the utilities seem well-written, and extensive online and hard copy documentation is provided. Other than the install glitch, I encountered no problems working with any of the tools and found them generally reliable and designed for easy use. Not having come from a UNIX background where I might have become more familiar and dependent on the tools, I can still understand the appeal in having MKS Toolkit. I certainly expect that over time I'll wonder how I ever got along without it.

InstallShield Express Professional

With today's applications using all manner of files-not just executables, but DLLs, ActiveX controls, templates, and registry keys-distributing them is no longer as simple as writing a batch file to create a new directory and copying the files off a floppy or network drive. Subtleties such as version numbers, preexisting cooperative software (such as database clients and ODBC drivers), and even operating system variants must also be considered. Getting this right requires you to pay attention to all the details. The team at InstallShield has stepped up to help you with the job.

InstallShield Express Professional is the latest version of the tool that more commercial software vendors use than any other product-especially if you count the users who are taking advantage of its custom versions and using them with Microsoft's Visual C++, Borland's C++, and Borland's Delphi. It has a big brother, InstallShield 3, which is even more flexible with a scripting language and support for Windows NT on RISC platforms. InstallShield Express Professional supports all the versions of Windows that run on Intel chips. It has built-in support for the three development tools previously mentioned plus Microsoft Visual Basic and Borland Paradox. Setup applications for applications created with other languages are also supported, but more work is required on your part to define the files required for inclusion with the distribution.

Creating a setup application with a tool like InstallShield Express Professional is a very rote, structured process-so structured that its marketers have selected a stylized checked box as its logo. The standard interface is also a checklist, moving through seven sections of tasks in a very straightforward, orderly fashion. This is particularly important since creating a setup application is such an infrequent event, occurring only once per product release. InstallShield Express Professional has all the basic functionality expected in an installation package. It reads project files to determine which basic files will be distributed, adds or updates system registry keys or configuration files, supports variable paths through the setup (like full, typical, or custom), displays custom graphics during the process, and creates a compressed file set and distribution CD-ROM or diskettes.

The product also provides online registration and an uninstall application to make your users' lives easier. Note that while the software necessary for online registration is provided and can be included in your setup program with the click of a button, you are responsible for establishing (and paying for) your own account with the company that administers this service, Pipeline Communications Inc. in New York. The uninstall application not only helps your users, it is also a requirement for getting Windows Logo compatibility certification.

Crystal Reports Professional 5.0

Reports, one might say, are the lifeblood of corporations. Who bought what, for how much, is it in stock, when will it be available, and, by the way, what's the value of my retirement plan? Getting information out of databases (and other files) is an important part of almost every business application. The latest version of Seagate Software's longtime award-winning product adds a lot of important new functionality to a program that is already the industry standard, the big brother to versions bundled with dozens of other software packages including Microsoft's Visual Basic and BackOffice.

Among the new features in Crystal Reports Professional are the abilities to include multiple reports within a single report (also called subreports), to e-mail reports or save them to groupware such as Lotus Notes and Microsoft Exchange, and to export reports to many different formats including HTML. This latter function is particularly significant at a time when sharing information quickly via intranets and the Internet is a desired goal. Data sources and report templates that provide connections to the Windows NT Event Log and Microsoft Internet Information Server are included, as are 12 sample Microsoft BackOffice reports; Seagate also separately sells a CD-ROM with 101 reports for BackOffice.

Two new tools that are provided are the dictionary manager and query designer. The dictionary manager lets information systems staffers create and maintain dictionaries that are used to shield business users from having to deal with technical complexities. These can include column name limitations (standard business terms such as Accounts Payable Date can be substituted for ap_acct_py_dt), creating calculated fields based on a powerful set of functions, and creating efficient joins. The query designer is a visual tool that lets users use a very nice wizard (the product has a lot of good wizards) to create the query, to enter SQL directly, or to base the new query on a preexisting one. The utility can also preview the query, making it a handy tool for ad hoc data exploration not necessarily connected to a specific report.

Crystal Reports Professional also includes a number of components that make developing and deploying reports easier. ActiveX, Delphi VCL, VBX controls, and Visual C++ and Informix New Era class libraries are provided so that applications written in languages that support these types of components can very simply call reports at run time. Additionally, any language that calls a DLL can also use the run-time engine. Other related products from Seagate (Crystal Web and Crystal Info) add more substantial capabilities in the areas of web publishing and client/server report availability, deployment, and administration.

System Commander 3.0

Along with Partition Magic, System Commander is perhaps the smallest of the products covered here (in terms of scope of functionality). Even so, it deserves a place because it seriously simplifies a complex task that often faces developers: supporting multiple operating systems. Do you need to run MS-DOS, Windows 3.1, Windows 95, Windows NT, OS/2, and one or more UNIX variants on a single box-presumably one with a lot of hard disk space-to develop and maintain applications used on some combination of these operating systems? This product not only makes it possible-it makes it easy.

For example, Windows 95 is not a good citizen; when it's installed, it destroys the existing boot record and installs its own boot manager. Do you already have DOS or OS/2 on the machine? Unless you use System Commander and follow the detailed instructions provided with it to allow recovery after installing Windows 95, most likely you can kiss those other operating systems goodbye. Well-written instructions are included in the manual describing the best way to use this tool with each of the many operating systems it supports. As new operating systems are installed, this tool automatically copies key files and adds it to the startup menu. It also manages unique copies of AUTOEXEC.BAT, CONFIG.SYS, and COMMAND. COM for each operating system.

System Commander also provides more sophisticated boot-time functionality than the Windows NT boot manager. In addition to providing a menu of operating systems to boot up, various global and local (specific to each operating system) options can be set. The most significant is the security included through the use of several different passwords: global, local, and setup. Global security can prevent unauthorized access to the machine entirely since System Commander runs prior to any operating system being loaded; even the floppy drives will be disabled if the wrong global password is entered three times in a row. Local security is used to limit access to specific operating systems. The setup password is used to control access to the System Commander setup menus.

Partition Magic 3.0

This product is one of those tools that is never thought of until it's needed, and then you smack yourself for not having it. The scenario: a new client comes in and wants a project that runs on Windows NT. One problem: all your machines must run Windows 95. Solution? Dual boot using System Commander. But how do you repartition the hard drives to accommodate Windows NT? The old way would have been to back up the hard drive, run FDisk to create a new partition, and format the partition to prepare it for installing the new operating system.

Thanks to PowerQuest, Partition Magic makes the process much simpler and secure. You just fire it up and assign some or all of the free space on a disk to a new partition. Boom. Basically, you're done. And if you give too much space to a partition, it's no problem. Partition Magic can resize it on-the-fly.

Another benefit of Partition Magic is that resizing drives also lets you optimize wasted space. Generally, the larger the hard disk, the larger the cluster size. Since each file must occupy at least one cluster, small files cause average wasted space to run from 25% to 40% when the waste could be kept to an average of 10%.

The package also includes Boot Manager from IBM, a utility similar to System Commander, and the Move feature of MicroHelp's Uninstaller. The Move feature lets you move applications, including all or some of their related files and adjustments to the configuration information (registry entries, for example), from one drive to another fairly painlessly. Between the resizing and move capabilities, Partition Magic can help you quickly rearrange your disk use to minimize waste.

Must-Haves

The five tools discussed in this article are all excellent choices for application developers who are struggling to turn user requests into business solutions. They each represent the best features of products in their respective categories, although your own situation may be better served by competing products. Nonetheless, the capabilities of these tools are all extremely useful to a wide range of developers, both in corporate and consulting environments. Other tools, in categories not discussed here, are also must-haves. They include a powerful text editor such as Premia Codewright or Visual SlickEdit; database utilities-these are so DBMS-specific that it's difficult to single one or two out-for quick and dirty access; an HTML editor such as HotDog or SoftQuad HoTMetaL Pro; and, of course, archiving tools, for which there are none better than PKWare PKZip and Nico Mak Inc.'s WinZip.

Since not everyone has the time or resources to run out, purchase, and learn all five of these products, and since they are so different, I won't try to tell you which of them is best. However, I will share with you my priority list, with the caveat that over time I intend to become proficient with them all: InstallShield Express Professional, Crystal Reports, MKS Toolkit, Partition Magic, and System Commander. The latter two are particularly difficult to prioritize because they are so complimentary; if you have to play with multiple operating systems, you also probably need to finagle with your hard disks.

Regardless of profession or trade, real professionals have a well-stocked set of trusted, reliable tools. Make sure you stay stocked with software that can keep your operation running as smoothly as possible.

Product Summary: MKS Toolkit 5.2

Mortice Kern Systems

185 Columbia St. W.

Waterloo, Ont., Canada N2L 5Z5

Tel: (800) 265-2797


Price: $399

Software Requirements: Windows 95 or Windows NT 3.51 or higher

Hardware Requirements: 486 or higher, 2MB to 20MB disk space

Technical Support: 30 days free

Money-Back Policy: 30 days



Product Summary: InstallShield Express Pro

InstallShield Corp.

1100 Woodfield Rd., Suite 108

Schaumburg, Ill. 60173

Tel: (800) 374-4353


Price: $295

Software Requirements: Windows 95 or Windows NT 3.51 or higher

Hardware Requirements: 10MB disk space, 486 or higher

Technical Support: 60 days free

Money-Back Policy: Unconditional with no time limit

(At press time, InstallShield Corp. was shipping a new major release of its installation development toolkit. InstallShield 5 features a visual, integrated design environment that lets you create and manage your installation projects more easily. For more information, visit the web site at http://www.installshield.com)



Product Summary: Crystal Reports Professional 5.0

Seagate Software

1095 W. Pender St., 4th Floor

Vancouver, B.C., Canada V6E 2M6

Tel: (604) 681-3435


Price: $395

Software Requirements: Windows 95 or Windows NT 3.51 or higher

Hardware Requirements: 8MB RAM, 10MB to 75MB disk space, 486 or higher

Technical Support: 60 days free by telephone, unlimited by fax and mail

Money-Back Policy: 60 days



Product Summary: System Commander 3.0

V Communications

4320 Stevens Creek Blvd., Suite 120

San Jose, Calif. 95129

Tel: (408) 296-4224


Price: $99.95

Software Requirements: Any Intel-based operating system

Hardware Requirements: Any Intel 80 x 86-based computer, less than 2MB disk space

Technical Support: 90 days free

Money-Back Policy: 60 days



Product Summary: Partition Magic 3.0

PowerQuest Corp.

1083 N. State St.

Orem, Utah 84057

Tel: (800) 379-2566


Price: $49.95

Software Requirements: MS-DOS 5.0 or later, Windows 3.1, Windows 95, Windows NT 3.51 or higher, OS/2 2.1 or later

Hardware Requirements: 486 or higher, 8MB RAM, 8MB disk space

Technical Support: Free

Money-Back Policy: 90 days


Related Reading


More Insights