Are there any reasons why I shouldn't use Visual Studio 6 for C++ development?
- Where can I find some resources why this would or wouldn't be a good idea?
- Are there any lists of issues I would have with this?
Are there any reasons why I shouldn't use Visual Studio 6 for C++ development?
I wouldn't say that Visual Studio 6 should "never" be used for C++ development. I would say that it should "no longer" be used for C++ development. Reasons:
To summarise: stop using Visual C++ 6. If you have to use a Microsoft C++ compiler, use Visual Studio 2008.
I think the main reason for Visual Studio falling out of favor for C++ development is because of it's age. The compiler has also been improved significantly since then.
I can give you some problems with VC++ 6 but where did you get that "It is known...." ???
Visual Studio 6 is fine, if you want a fast, lightweight environment with a good debugger. The problem is the C++ compiler that comes with it, which is very outdated. After many years as a happy VC++ 6 user, I've now switched to Code::Blocks, which gives you a similar IDE but allows you to use the up-to-date g++ compiler.
Another reason not to use Visual Studio 6 is that it is no longer supported by many open source libraries (ACE framework for example). Also if you use Visual Studio 6 you should apply all the patches because some code it is not compilable without those patches. The template support is not very good.
As a conclusion: I would recommend using modern/newer C++ compilers.
Main reason: vc++ 6 have poor standard support. As result some of libraries couldn't be compiled by this compiler. And your project will have truobles when you will decide to compile with other compiler.
If you believe the MS hype, Visual Studtio 2010 will be greatly enhcanced for C++ development, and include much of the Visual Studio 6 functionality that was lost in later releases. I personally find Visual Studio 6 to be a very productive C++ development tool, to the extent that I still use it for much of my development, and do final compiles and testing under VS2008. My reasons for doing this are given in a previous question here
Current VS6 user here. We are transitioning away this year, but I'm still using it today.
I pretty much agree with what I'm seeing said here. It sucks.
One thing I've seen hinted at here, but hasn't been said explicitly, is that some of the more interesting features of the STL are all but unusable in VS6. As near as I could tell, this is mostly because the compiler has a lot of trouble figuring out implied template parameters. For example, pretty much everything in std::algorithm is going to either be totally unusable, or require so much explicit instantiation that it would be easier and cleaner-looking to just write the code by hand.
Boost can help a bit with this, but a great deal of Boost will be unavailable to you too. :-(
I taught myself C++ on MSVC++ 6 when I was in middle school. To my horror, I discovered my current company still using it. I causes us endless pain, mostly regarding templates failing to compile. We get great internal compiler errors. Oh, and the mutable keyword doesn't seem to work. There's also tons of standards compliance issues, some of them quite serious, like my favorite:
for (int i = 0; i < 10; ++i)
{
// do some stuff here
}
cout << i; // THIS COMPILES AND WORKS! i is in the function scope, not the loop scope.
I found a fairly nice list of bugs and misfeatures in MSVC++ some time ago in an attempt to convince my boss to transition away... here's the link.
Ok, vs2005 and upwards provides standards compliant c++ and a better IDE (I find the intellisense a little less buggy for example).
That said if standards compliance doesn’t bother you, you only develop managed code and your projects are very UI orientated you may prefer VC6 (class wizard is awful on vs2008).
Personally, as poor as class wizard is, I would still go for the later IDE. The benefit of better source control integration, the ability to use third party plugins, etc still outweighs the cons.