Templates and Generics

Insomnia and being a workaholic is an interesting combination. It is amazing how much work can be accomplished in the eight hours before everyone else comes to work. J Anyways, I spent some time working on specifying generics in C++ yesterday so I figured I’d write about that today. Perhaps the most important message regarding…


There is no language lower than C++

At the PDC, I was part of a panel that answered questions on the future of programming languages. Naturally, I represented C++. I also have a passion for functional programming languages, so I’m certainly a fan of Erik Meijer who was the moderator. (We had a rather late night at the country bar near Universal…


Some Notes about Mixed Types

Perhaps the most important reason to use C++ for managed code development is that C++ fully understands managed code and existing C++ code. This positions C++ as the ultimate language for doing managed-native interop programming. It is worth sitting back and remembering just how important that capability is. This allows you as the programmer to…


Behind the Design: Handles

In this writing, I plan to discuss the history and rationale of handles. This is perhaps the most noticeable addition to C++. I have heard many questions about handles. Why does C++ need handles? Why are they named handles? Why did you use the hat to declare them? And much more. The design team spent…


Compiler Switch Changes in Visual C++ 2005

One noticeable change in the coming release of the Visual C++ compiler is the changes to compiler switches. If you use the project system, when the IDE upgrades your project files, many of these changes will be taken care of automatically. However, if you use another build system like nmake, you might have to fix…



Hey everyone! Before I get around to introducing myself, let me take a moment to explain why I’m joining the ranks of other Microsoft bloggers. For starters, I have found the information on other blogs extremely useful. I’ve enjoyed contributing to the Visual C++ newsgroups and back when I taught sections in college I spent…


Security Improvements to the Whidbey Compiler

I’ve been away from an Internet connection over the last few days. After a conference in the Netherlands, I visited my sister in Germany. She’s stationed at Spangdahlem Air Base, which happened to be where the Air Force started using Xbox Live. The German countryside is amazing. I spent most of my time on the…


Design guidelines for C++

I’m here at PDC, and it hass been great to meet so many C++ developers. Of course, the best part of this week is that Visual C++ has finally announced the new language design for C++. As I mentioned last time, I will spend a while covering rationale and design behind this language design. Before…


Four years and still going

It has been a while since I have written here. Looking at the last time I wrote an article of significance, I mentioned that I had insomnia. Indeed, I wrote everything between midnight and sunrise. Fortunately for me, I haven’t had insomnia for the last year and half. This blog has suffered as a result….


Table-pounding Evangelism of Visual C++

Today has been a long day. The language design team is getting ready to release a draft of the language specification the the ECMA technical group. The TG5 meetings for ECMA start in just under a month. It’s very exciting, and the countdown is leading to a lot of last minute work. Look forward to…