I do a lot of Microsoft development. A lot. I use Visual Studio 6.0 to do that development. This is a product that came out on September 3, 1998. It was probably designed in 1995. I’m using a 10 year old product.
Here is the interesting thing. I started researching and getting excited about newer VS products from Microsoft. I even tried out their latest Beta of Whidbey and Visual C++ Express. The newer C++ compilers would be great to use. The debuggers handle STL better. The .Net stuff is very nice. It comes on a DVD full of stuff.
But there is a problem. Just about everyone that I email or talk to or know that REALLY does Win32 development, still uses Visual Studio 6.0. It just gets the job done. It is so solid. It supports MFC better than the newer ones. We need to generate x86 .exes. We’ve been using it for years. The system is well understood and there are still great plugins. Why?
Microsoft has been moving away from C++ for a while (more on this in another post), yet they aren’t using the newer stuff in most of the products they release (Office, Media Player, MSN Search Toolbar, etc.) As they have done this, they have deprecated or broken things in their newer Visual Studio systems that cause people to feel lost. The transition to VS.NET didn’t go well. They left a lot of the MFC, WTL, etc C++ folk in the code. Guess what? 99% of the apps people develop are done with C++/x86, not .NET. (Note, this isn’t a slam on .NET or the CLR, read on). Yet, the new tools are completely focused on the .NET segment of the house.
The benefits of moving to a newer VS are not there for this community. This C++/MFC/WTL community is still very, very large.
So, Microsoft. Rather than kill this product, give the C++ community this 10 year old IDE as Open Source, and let them maintain it. You can then focus on your new technologies and products. You did this with the WTL, and that was a good thing.
P.S. Actually, please open source Visual Studio 6.1. I work with a guy who used that product at Microsoft, and the debugger actually had the threads window as a dockable view (which makes it super easy to switch to a different thread when debugging).
P.S. Hopefully Scoble, MarkJ, or somebody at Microsoft picks this up.