# Slow Chat Archives > Slow Chat: Visual C++: Yesterday, Today, and Tomorrow >  [RESOLVED] Benefits of VS2005 for native development

## ABuenger

I've already raised the question here http://www.codeguru.com/forum/showthread.php?t=391655, but since it's an own topic I make a separate post.

What are the benefits if I compile my MFC/Win32 application with VS2005 instead of VS6?

The downsides I see are:

- VS6 SP6 is around for a while, if any problems exist they are well known, and the applications have been tested over several years. VS2005 may introduce new problems so actually the whole application needs to be retested again.

- The MFC42 and C Runtime is preinstalled on every PC, so we can use the DLLs without having to deploy them, which results in smaller executable/installer size.

I know that VS2005 introduces many new things, but that is not the question here. Same code base, compiled with VS6 and VS2005, why do I want to ship the VS2005 executable?

----------


## Kevin McFarlane

I suppose you could use some of the safety checks in VS 2005 to flag up any problems in the VC 6 code. Then fix them and continue working in VC 6.

----------


## AymanS

One reason is that the same code base using the VC2005 compiler will resullt in most cases in better code generation (higher performance) since you can just trigger the newer optimizations.

Also, moving your code to newer supported version now makes it easier for you in the future to make use of newer technologies. E.g. Extending your MFC apps to use Win forms as well.

This is only part of the benefits you get from moving to VC2005.

Thanks,
Ayman Shoukry
Program Manager
VC++ Team

----------


## joncaves

There is definitely a lot to be said for the sentiment "If it ain't broken don't fix it". If your application is working and Visual C++ 6.0 works for you then why change it. There is a story (probably an Urban Legend) of a development team in IBM that only used obsolete compilers - that way they knew that the compiler would never change.

Having said that Visual C++ 6.0 is a very old compiler (it was released in 1998) and it is no longer supported bt Microsoft - so if you do run in to a problem you won't be able to get any help from us.

Also a huge number of improvements have happened since 1998 - the C++ compiler itself is light years better (especially for templates), MFC has had heaps of bug fixes (a lot of which won't have made it into any Visual C++ 6.0 SP), there is all the security work - both in generated code and in the libraries, there is support for 64-bit platforms, and up coming is support for Vista.

Upgrading a toolset can be a pain - especially when there is such a huge differences between toolsets as there is between Visual C++ 6.0 and Visual C++ 2005 - but on the whole your application should come out of the process in much better shape.

----------


## ABuenger

> MFC has had heaps of bug fixes (a lot of which won't have made it into any Visual C++ 6.0 SP)


Is a list of the changes from 7.1 to 8.0 available?

----------


## AymanS

For compiler breaking changes, please take a look at http://msdn2.microsoft.com/en-US/library/4162y30b.aspx

Also, http://msdn2.microsoft.com/en-us/lib...d5635e797.aspx should be helpful.

Thanks,
Ayman Shoukry
Program Manager
VC++ Team

----------

