Tools Vendors Return to Native
CodeGear and Microsoft please native programmers with plans to improve C++ portfolios and continue to develop native code options.
Native code warriors hold legitimate gripes about .NET developers getting all the love from tool vendors. But those views may change as both Microsoft and Borland Software Corp.'s tools subsidiary CodeGear revisits its C++ portfolios and commits to delivering better tools for native programmers.
No one disputes that the .NET fervor spawned several lackluster years in native Windows tooling. Even with the focus on Visual Basic .NET and C#, however, Microsoft wants customers to know it hasn't abandoned C and C++ developers.
"The Visual C++ team is staking our claim to be the best tool for the native side," says Bill Dunlap, a program manager on the Visual C++ development team at Microsoft. "So now across the entire Windows platform -- native and managed -- we have tools that are focused to meet the needs of those specific developers."
The majority of Microsoft's C++ customers have a huge base of production code that isn't going anywhere, according to Dunlap. However, many customers are interested in extending these apps to take advantage of some of the managed code advances in .NET FX 3.0, such as Windows Presentation Foundation and Windows Communication Foundation. "What we're doing from a tooling perspective," he says, "is trying to move toward what we call a 'friction-free mechanism,' where you can easily mix and match native and managed code."
New functionality in Visual Studio "Orcas," now available for download in beta 1, is designed to do just that, explains Dunlap. The Vista SDK is integrated into Visual C++ in Orcas, so that developers can access all of the APIs, including Vista's 5,000 unmanaged APIs. MFC-based apps can be recompiled in Orcas to look like native XP or Vista applications. All of the Vista common controls, such as Network Address Control, the Command Button and the Split Button, are available in MFC or the VC++ dialog designer in Orcas.
"We'll be putting a much stronger focus on native code, Win32-type applications."
Michael Swindell, Vice President of Products and Strategy, CodeGear
A new managed incremental build capability tracks dependencies, and only the files with changes are recompiled, shortening the edit, compile and debug cycle. An extensible Marshalling Library designed to handle string types is available in Orcas to ensure data fidelity when developers move from native to managed code. A Standard Template Library/CLR allows native developers to use the same STL constructs, and an /MP switch has been added to the compiler in Orcas for source file parallel builds.
The improvements won't end with Orcas. The VC++ team says they plan to "modernize" the toolset, offering better productivity and ways to deal with the code complexity of larger applications, sometime after Orcas ships. There are no plans for VC++ to support Language Integrated Query (LINQ), however.
Clear Market Opportunity
Microsoft for a while has been struggling to come up with a strategy for C++ in a managed world, says Greg DeMichillie, an analyst at Directions on Microsoft. "They've focused on the hybrid application where it's partly managed code and partly native. In the long run, C# is going to improve and high-end corporate developers will move away from C++," he says. "But I don't see the big ISVs, the system programmers, or the system-level programmers moving away from C++."
The huge base of native code developers worldwide, especially in China, India and Russia, represents a clear market opportunity to CodeGear, Borland's tools subsidiary. "We'll be putting a much stronger focus on native code, Win32-type applications," says Michael Swindell, CodeGear's vice president of products and strategy.
This month, CodeGear is planning to ship its first major revision in years to C++Builder, a rapid application development IDE for native Windows developers. C++Builder shares the same VCL framework as CodeGear's flagship native Windows IDE Delphi, which means a robust ecosystem of third-party plug-ins. The major innovations in the 2007 version center around support for Vista-enabled applications.
C++Builder 2007 boosts the in-IDE build performance by "a minimum of five times," according to the company. It also supports CodeGear's DBX 4 database framework, as well as the latest ANSI C++ standards and libraries (Boost and Dinkumware), among other enhancements.
In February, CodeGear shipped Delphi 2007 for Win32. "The past few releases of Delphi have had a strong focus on the .NET platform and .NET Frameworks and related technologies," says Swindell.
"Certainly we have a customer segment that does benefit from the .NET Framework, and the enterprise and Web Parts," he adds. "But a lot of our customers are building turnkey box retail applications, manufacturing floor applications, robotics and medical device software, so building directly to the hardware and the operating system is their key requirement."
Kathleen Richards is the editor of RedDevNews.com and executive editor of Visual Studio Magazine.