Normally I don’t want to pile on with something like this, but I’ve had three people ask me in the last couple days to come public with my concerns about C++ in Visual Studio 2008. Plain and simple it’s aweful.
First, as others have pointed out there can be some linker problems. I, personally, haven’t run into them, but I have a friend that has. His workaround? He’s taken a hiatus from VS2008 until the dust settles.
My other big concern is performance. Plain and simple, C++ compilation is a total dog. It’s so slow you begin to ask yourself, “Is the environment locked up?” It’s so slow you begin to ask yourself, “Is this really the release version of VS?” It’s so slow you begin to ask yourself, “Why am I even bothering?”
There’s more to it than just performance and some embarrassing bugs, though. The “experience” is aweful. Some of this has to do with the editor (refactoring support, for instance). Some of this has to do with the language itself–and the unfortunate choices that have been made over the last several years (such as, reliance on STL and even header/source code issues with heavy use of templates). Some of it has to do with people pulling in COM where it shouldn’t be. Some of it’s flawed thinking that managed C++ is good enough. What’s with SDKs anymore, I keep wondering?
Anyway, I’ve gone into each of these issues before over the last couple of years, so I don’t want to rehash them now, but wow do they get my programming bits boiling. Where’s the big thinking going on when it comes to C++? Where’s the innovation? I’m totally perplexed.
C++ is all but dead in terms of Visual Studio. It’s terribly unfortunate, because it’s a pretty good choice for lots of forthcoming, small devices as well as high-end, high-perfomance systems.