Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What are the differences between Visual C++ 6.0 and Visual C++ 2008?

What are the advantages/disadvantages between MS VS C++ 6.0 and MSVS C++ 2008?

The main reason for asking such a question is that there are still many decent programmers that prefer using the older version instead of the newest version.

Is there any reason the might prefer the older over the new?

like image 563
gio Avatar asked Sep 15 '08 12:09

gio


2 Answers

Advantages of Visual Studio 2008 over Visual C++ 6.0:

  • Much more standards compliant C++ compiler, with better template handling
  • Support for x64 / mobile / XBOX targets
  • Improved STL implementation
  • Support for C++0x TR1 (smart pointers, regular expressions, etc)
  • Secure C runtime library
  • Improved code navigation
  • Improved debugger; possibility to run remote debug sessions
  • Better compiler optimizations
  • Many bug fixes
  • Faster builds on multi-core/multi-CPU systems
  • Improved IDE user interface, with many nice features
  • Improved macro support in the IDE; DTE allows access to more IDE methods and variables
  • Updated MFC library (in VS2008 Service Pack 1)
  • support for OPENMP (easy multithreading)(only in VS2008 pro.)

Disadvantages of moving to Visual Studio 2008:

  • The IDE is a lot slower than VS6
  • Intellisense still has performance issues (replacing it with VisualAssistX can help)
  • Side-by-side assemblies make app deployment much more problematic
  • The local (offline) MSDN library is extremely slow
  • As mentioned here, there's no profiler in the Professional version

In the spirit of Joel's recent blog post, I've combined some of the other answers posted into a single answer (and made this a community-owned post, so I won't gain rep from it). I hope you don't mind. Many thanks to Laur, NeARAZ, 17 of 26, me.yahoo.com, and everyone else who answered. -- ChrisN

like image 120
9 revs Avatar answered Sep 30 '22 15:09

9 revs


Well, for one thing it may be because the executables built with MSVS 6 require only msvcrt.dll (C runtime) which is shipped with Windows now.

The MSVS 2008 executables need msvcrt9 shipped with them (or already installed).

Plus, you have a lot of OSS libraries already compiled for Windows 32 bit with the 6.0 C runtime, while for the 2008 C runtime you have to take the source and compile them yourself.

(most of those libraries are actually compiled with MinGW, which too uses the 6.0 C runtime - maybe that's another reason).

like image 22
Vlagged Avatar answered Sep 30 '22 15:09

Vlagged