views:

623

answers:

8

I was asking my team to port our vc6 application to vc2005, they are ready to allot sometime to do the same.Now they need to know what is the advantage of porting.

I don't thing they really understand what does it mean to adhere to standard compliance.

Help me list out the advantage to do the porting.

Problem I am facing are

1)No debugging support for standard containers

2)Not able to use boost libraries

3)We use lot of query generation but use CString format function that is not type safe

4)Much time is spent on trouble shooting vc6 problems like having >>

vector<vector<int>>

with out space between >>

+1  A: 

To ensure complete compatibility of the application with different versions of the base platform. And to rectify any errors found thereby so as to give enough freedom to end user to use his own version of the base platform.

Chandan .
+3  A: 

If you're maintaining a legacy project then there may be no advantage in porting. Simply converting projects and fixing up compiler problems could take weeks of time and introduce instability.

If you're actively developing a product then the main advantage is that you'll no longer be using a product that's over eight years old - which is clearly a good thing.

Andrew Grant
I think as an industry we tend to jump on the latest thing far too easily - it shouldn't be a given that "8 years old" is a bad thing. Coming up with specific reasons is more useful.
Mark Ransom
In the tech world 8 years really is a given IMO.
Andrew Grant
+1  A: 

If your team can't see any advantage and you are unable to explain any advantage, why are you asking them to do this?

Sounds like you are porting just for the sake of it.

Stevo
i have added some of the problem i am facing with vc6
yesraaj
+2  A: 
  • More recent versions of the Windows SDK don't work with VC6 - if you want to use the latest Windows features, you'll need a more recent compiler.
  • The later compilers are said to be more standards conforming. I'm sorry I can't be more specific. I do know that VC6 generates lots of compiler warnings just for using standard template classes.
  • If you use any external libraries that are compiled with a later compiler, you'll need to use something compatible.

Prepare for something of a harsh transition - the IDE's are more different than they should be.

Mark Ransom
+5  A: 

Why VC2005? If you are going to invest the time (and testing!) to upgrade from VC6, why not target VC2008?

cpeterso
IMHO, once you've moved from VC6 to VS2005 you can move to VS2008 relatively easily. Though I agree, I'd move to VS2008 in one step if possible.
Len Holgate
i was thinking the same..but we have license for vc20005 and not 2008
yesraaj
+2  A: 

Duplicate question? Anyway, the answers here might be of use to you: http://stackoverflow.com/questions/191253/what-are-some-convincing-arguments-to-upgrade-from-visual-studio-6

Len Holgate
+8  A: 

Advantages:

  • More standards compliant compiler. This is a good thing because it will make it easier to port to another platform (if you ever want to do that). It also means you can look things up in the standard rather than in microsoft's documentation. In the end you will have to upgrade your compiler at some point in the feature. The sooner you do it, the less work it will be.

  • Not supported by MS. The new SDK doesn't work. 64-bit doesn't work. And I don't think they're still fixing bugs either.

  • Nicer IDE. Personally, I really prefer tabs to MDI. I also think that it's much easier to configure Visual Studio (create custom shortcuts, menu bars, etc.). Of course that's subjective. Check out an express edition and see if you agree.

  • Better plugin support. Some plugins aren't available for VC6.

Disadvantages:

  • Time it takes to port. This very much depends on what kind of code you have. If your code heavily uses non-standards compliant VC6 features, it might take some time. As Andrew said, if you're maintaining an old legacy project, it might not be worth it.

  • Worse Performance. If you're developing on really old computers, Visual Studio may be too slow.

  • Cost I just had a quick look and Visual Studio licenses seem to be a bit more expensive than VC6's.

drby
I'd add more flexible visualization of custom types when debugging. Support for new technologies like DEP.
Ismael
+1  A: 

I'm not saying you shouldn't convert, but to take your specific points:

1)No debugging support for standard containers

I debug code using standard containers with VC++ 6 all the time. What's your problem here?

2)Not able to use boost libraries

True. You may find you can use some of the simpler stuff.

3)Much time is spent on trouble shooting vc6 problems like having >>

[can't get SO to stop mangling this, nb]

with out space between >>

Um, that is a syntax error (at least in the version of C++ understood by VC++6) and will be flagged as such. If your team is spending "much time" on this sort of thing, you need another team.

Edit:

3)We use lot of query generation but use CString format function that is not type safe

It will be equally type-unsafe under VS2005. I don't see why this is a reason for porting. If you want type safety use the standard C++ I/O mechanisms.

anon
I too debug the code with vc6.Have you used vc2005 for debugging
yesraaj
did u check how vc2005 handle iterator and containers
yesraaj
some time is spent on finding alternative for Cstring Format function,which we use most of the time
yesraaj
I don't use any MS IDEs anymore, so can't comment. I don't see how CString Format has anything to do with the question.
anon
I think you know about Cstring from vc2005 is much better than vc6
yesraaj
please check the link http://stackoverflow.com/questions/404886/alternative-to-cstringformat
yesraaj