A few days ago I got a copy of Visual Studio 2005 Beta 2. I've been experimenting with it and I wanted to give my thoughts.
My friend Dave, has been raving about the improvements to the C# side of things. I haven't spent any time looking at the C# side of things, seeing as how I'm a C++ guy myself. I have been looking at the C++ side of things, and so far, I'm very concerned.
VS2005 has added a new 'secure' version of the C Runtime Library. For those of you who don't know, the C Runtime Library is probably the most critical component of a C/C++ application. Pretty much EVERY C/C++ application in existence makes use of this library. In this new secure version, which is enabled by default, Microsoft has deprecated many of the most common library functions. This means that compiling just about ANY C program will cause the compiler to generate a massive amount of warnings about this. At first I thought these were errors. Once I figured out how to tell it to ignore these warnings, I compiled again. It then generated a TON of errors concerning char variables (another fundamental feature of C/C++). I'm still trying to figure out why these errors happened.
I am very concerned that my first impression of VS2005 has been so troublesome. Microsoft is clearly trying to make an effort to improve the security of their development code. They are to be commended for this. However, it seems like some of their choices in favor of security have greatly compromised compatibility with a large amount of C++ code. I'm worried that there will be a HUGE developer outcry when these things are discovered.