Kate Gregory’s Latest Column on CodeGuru

Kate Gregory's latest column is up on CodeGuru. In it, she talks about the language changes in Visual C++ 2005.

C++ Language Changes for Visual Studio 2005
The next version of Visual Studio (formerly Whidbey, now Visual Studio 2005) is rich in improvements to the libraries and the usual sort of "behind the scenes" cleanups and speedups that don't get a lot of press. It has plenty of companion tools and new functionalities that will make the lives of developers simpler and happier. But to me, all of that pales in comparison to what Visual Studio 2005 has done with C++. In this column, I highlight some of the C++ language changes awaiting you in the next Visual Studio version.

Comments (4)
  1. The Microsoft Visual C++ team was always in the right direction from my point of view. C++ is a fairly clean language. The MS extensions so far were needed to keep the language efficient on the Windows platform. Extensions were required for the 16-bit memory model or for calling conventions, DLL support, …

    To ease COM development the language was again extended (#import), but most things were handled pretty nice using templates (ATL).

    When the CLR arrived and C++ had to provide support for it, then things started to change. The entire language was "polluted" with CLR support. However, this is still understandable, because otherwise CLR support had become quite hard. I even admit that it has been a very good job, because it works great and it must have been a difficult task. Extensions are clearly visible, which is a big advantage.

    The Visual C++ team has improved the ANSI C++ compliance with each version, which is a very good thing. Now the C++ team starts to really pollute the language. Introduce keywords that are not always keywords, just for the sake of backwards compatibility. I understand the underlying reasons, but still I don’t like it.

    Just keep the double underscores. Another advantage is that these kind of constructions seem very impressive to your collegues 😉

  2. Nish says:

    Hey Ramon

    The new so-called keywords are essentially contextual identifiers – well most of them.

    They won’t be much of an issue when compiling existing code

  3. Nish says:

    In fact the only 3 keywords that might clash with existing code are nullptr, gcnew and generic.

  4. Nish says:

    BTW Ramon

    I’ve put together a little code to demo this, and the syntax coloring was awfully funny. Since I can’t show the coloring here, I’ve made a blog entry on this :-


Comments are closed.

Skip to main content