Microsoft Adds Productivity Enhancements to Visual C++

Now that developers have gotten a peek at the next versions of Visual InterDev, Visual J++, Visual FoxPro and Visual Basic, Microsoft is getting ready later this month to reveal the last piece in the Visual Studio 6.0 puzzle: Visual C++. Version 6.0 of Visual C++ is designed to make it easier for both newcomers and those who are already familiar with Visual C++ to take advantage the latest incarnation of Microsoft's C++ development environment.

Many of the new features in version 6.0 are designed to enhance productivity. "At this point, C++ is a fairly mature language and Visual C++ is a fairly mature product, and there aren't a lot of places where [Microsoft] can add a lot of value to it. A lot of that work has been done," says Dave Kelly, vice president of the Hurwitz Group's application strategies service (Framingham, Mass.).

Some of these productivity enhancements may make it easier for non-C++ programmers to interact with Visual C++ as part of the Visual Studio suite, Kelly says. "Microsoft is focusing on integrating these pieces. Developers are going to be interacting with other types of components. The ability to explore [components] is going to be useful even if [developers] aren't developing them," he explains.

One of the key new features is IntelliSense, which has been available for Visual Basic. IntelliSense includes several time-saving features. It can complete code statements as they are typed in the editor and display class member methods and variables in a list box. Mousing over variables will display their type in a balloon, and mousing over any commented code will cause the comment to display in a balloon as well.

The package also includes several new wizards, including a Microsoft Foundation Classes (MFC) application wizard, a Win32 console application wizard, an OLE DB wizard for creating data consumer and provider templates, and an Active Template Library (ATL) object wizard.

ATL is a set of template-based C++ classes that make it easier to create COM objects. According to Microsoft, ATL-built COM objects tend to have small footprints and execute quickly. "Developers use ATL when they don't need all of the built-in functionality that MFC automatically provides," Microsoft says of ATL.

Another new feature is dynamic class view updating, which enables the IDE to parse code as it is written and add variables, methods and classes to the class view dynamically.

The debugger has also been enhanced to enable changes to be made dynamically to an application while debugging without restarting the debugger or the application.

Performance enhancements include a 15 to 30 percent increase in speed for the Visual C++ compiler, MFC tuning, new optimizing keywords recognized by the compiler, and the addition of delay load import technology, which enables developers to write programs so that DLLs are loaded only when they are needed.

The new version of Visual C++ also contains improved support for developing Internet and component-based enterprise applications on a variety of platforms. Enhanced support features include composite controls, which aggregate controls written in multiple languages; ATL object creation; additional ActiveX support; DHTML in MFC; support for creating Microsoft Management Console snap-ins; a cluster resource wizard; and new Active Data Objects controls.