Microsoft to improve C++, C#

Microsoft Corp. officials, including Chairman Bill Gates, will reveal details of improvements planned for the Visual C++ .Net and Visual C# .Net programming languages at a conference in Seattle on Friday.

At the OOPLSA (Object-Oriented Programming Systems, Languages, and Applications) conference, Gates and Anders Hejlsberg, Distinguished Engineer and architect of Microsoft .Net and C#, will discuss the plans for the two programming technologies, which are supported in the Visual Studio .Net development environment.

For Visual C++ .Net, Microsoft plans to have the language conform to the C++ ISO standard with the planned Everett release of the Visual Studio .Net in 2003. The C++ product will be 98 per cent compliant with ISO, according to Microsoft.

“It’s actually the first time that our C++ compiler is conforming to the [ISO] standard,” said Nick Hodapp, product manager for Visual C++ .Net, in Redmond, Wash. Conformance to ISO means C++ will have features such as partial template specialization. “It’s important because it gives developers a lot more opportunity to use different design patterns in their applications. They can create more reusable code,” Hodapp said.

With ISO support, Windows developers can use advanced ISO-defined C++ language features and compile and use modern C++ libraries, according to Microsoft.

In addition to ISO conformance, C++ will have enhanced code security, through an improved buffer security check. This helps prevent attacks by hackers against applications, Hodapp said.

Other improvements planned include enabling for C++ the Windows Forms Designer, a rapid application development feature, and optimizing the Pentium 4 and AMD Athlon processors so applications compiled for those processors will run between 5 percent to 10 percent faster. Floating-point performance improvements are also part of the C++ improvements.

Microsoft is reaffirming its commitment to C++, even though the company also has been promoting its C# language of late.

“Microsoft is by no means abandoning C++. On the contrary, this announcement is a sign that Microsoft is looking forward to a bright future for Visual C++ and ensuring that C++ developers be as successful as possible on Microsoft platforms,” Hodapp said.

C++ user Chris Maunder, co-founder of, a community Web site for C++ developers, in Toronto, applauded the C++ moves.

“The biggest one from my point of view is conformance with the ISO standard. Developers that have been wanting to use the features [that] the rest of the community have been using & basically haven’t been able to use them with the current Windows compilers,” Maunder said.

Developers will be able to use libraries such as Boost, Blitz, and Loki, which support functions such as regular expressions, Maunder said.

Maunder also said he was pleased with the partial template specialization and security enhancements.

A version of Visual C# .Net to be released subsequent to the planned Visual Studio for Yukon product will feature generics, a form of C++ templates that enable easier reuse of code, according to Prashant Sridharan, product manager for Visual C#, in Redmond, Wash. Visual Studio .Net for Yukon will be the release after Everett, so the C# improvements will not appear in the short term.

Also planned is a feature called anonymous methods, for simplification of code-writing. Partial types support, meanwhile, will assist in managing large-code projects, Sridharan said. Also planned for C# are iterators, which assist in building data collections.

Additionally, Gates plans to demonstrate an internal tool developed by Microsoft Research code-named “Scout,” which enables Microsoft development teams to locate, prioritize, and address different types of product vulnerabilities, according to Microsoft. Scout, the company said, marks a significant advancement toward the goal of providing a safe, private, and reliable computing experience for customers.