Classic Computer Magazine Archive COMPUTE! ISSUE 154 / JULY 1993 / PAGE 50

Compiler wars. (Microsoft's Visual C++ 3.1 program development software) (Software Review) (Evaluation)
by Clifton Karnes

Visual C++ is a superb development environment that has just about everything.

Back in January, I talked about Borland's C++ 3.1 and what a great Windows development environment it was. The quality of Borland's new entry in the compiler market wasn't lost on anyone, especially Microsoft. Now Microsoft has countered Borland's C++ 3.1 with Visual C++, a superb development environment that has just about everything.

There are lots of modules to Visual C++, and they all work together. The heart of the system is Visual Workbench, which is the Windows-based integrated environment. It boasts an interface much like QuickC for Windows but with many added features. There's a toolbar for quick access to common commands; a syntax highlighting editor; and a Tool menu, to which you can add your own commands.

The editor is not configurable (you can't remap the keyboard), but it's fairly powerful and has lots of useful commands such as one that lets you change the case of text and another that indents and unidents blocks.

Next on the list is App Studio, which you can use to edit all your resources, including dialog boxes, icons, cursor, menus, and bitmaps. You can also edit resources in EXEs, DRVs, and DLLs. App Studio is like Borland's pioneering Resource Workshop, but it's easier to use and more powerful. App Studio is written entirely in Visual C++, too, which brings us to this product's central theme: C++.

One of the reasons that Microsoft created Visual C++ was to make it easier for C programmers to move to C++, and two of Visual C++'s modules--AppWizard and Class-Wizard--focus on that task.

If you've misspent your youth starting each new Window's project by copying the canonical Generic, you'll really appreciate AppWizard. It's an application generator that lets you create a program's source files based on a series of options. You can create programs with an MDI interface, a toolbar, printing and print preview functions, custom VBX controls, context-sensitive help, and OLE client support. AppWizard can also create external makefiles, and it will generate source comments.

What language does AppWizard use? C++ and Visual C++'s new Microsoft Foundation Class 2.0 library. It's worth noting that you use AppWizard only once--when you create your program. It's not a CASE tool, like Windows-MAKER or Caseworks, that you can return to in the development process.

After creating your program skeleton, ClassWizard lets you make connections between user-interface elements, messages, and code by pointing and clicking.

When it comes to debugging, Visual C++ really packs the Raid. It boasts a Windows-hosted debugger that's intergrated with the Visual Workbench editor. Just press F8 or click on the step button on the toolbar, and you're debugging. Find an error? Just start typing to correct it. This is the way Windows debugging ought to work!

The integrated debugger features normal and conditional breakpoints, watches, and register display. If you need more powerful debugging, there's CodeView for Windows, which, using technology from Nu-Mega, runs as a nonmovable Windows app in one corner of your screen. It's not as convenient as the intergrated debugger, but it's a heck of a lot easier to use than Borland's full-screen debugger that makes you flip back and forth between the debugger and Windows.

Other debugging aids include HeapWalker, DDESpy, Spy, Stress, Zoomln and Hotspot Editor.

In addition to all this, Microsoft's online help, which has always been good, is even better now. The entire API reference is online, and you'll find tons of TechNotes--articles on programming problems.

The documentation is excellent, but all the 3.1 SDK docs aren't included. You can get the missing ones for an extra $99. I consider them a necessity, and they're a steal at $99.

Other useful features include a first-rate Browser and precompiled headers that are finally easy to use.

Visual C++ comes in two versions: a Standard Edition for $199 and a Professional Edition for $495. The Standard Edition has everything in the Professional Edition except for the Windows debugging applications, DOS program generation, and the optimizing compiler.

The Standard Edition replaces QuickC for Windows, and the Professional Edition replaces C 7.0 and the SDK.

The bottom line with a development environment is how fast it complies and how small the executables are. With a few informal tests on medium-sized programs with 100-4000 lines, I found Visual C++ to be slower at compiling than Borland C++, but the EXEs were considerably smaller (the in-memory images were the same as those generated by Borland's compiler).

One thing that has won me over to Visual C++ is the smaller executables. Another thing is the integrated debugger. This feature alone saves hours and hours with every project. Visual C++ is hard to beat, but I'm sure Borland's going to try.