From: elwilj on
I'm new to the MS Visual Studio world. I've just inherited a project
that was written entirely in VC++ 6.0. Should I make the move to VC+
+.NET and bybass VC++ 2005? Does the upgrade to .NET involve a great
deal of code rewrites? What resources are out there to help with this
migration? We are on Windows 2000 and XP machines ... must admit I'm
a unix guy thru and thru but this app needs some work. Does anyone
out there have any recommendations?

Thanks
LJ

From: Jochen Kalmbach [MVP] on
Hi elwilj!
> I'm new to the MS Visual Studio world. I've just inherited a project
> that was written entirely in VC++ 6.0. Should I make the move to VC+
> +.NET and bybass VC++ 2005?

What is "VC++.NET" ?

To which version do you want to move?
VS2005 is the latest version...

VS2008 is expected November this year...


--
Greetings
Jochen

My blog about Win32 and .NET
http://blog.kalmbachnet.de/
From: Alexander Nickolov on
It's probably best if you don't refer to .NET for your questions.
This usually refers to the .NET framewrok which doesn't
seem to be anything you are interested in. VC 8.0 is part of
VS 2005.NET and the confusion comes from there. The
next version is VC 9.0 part of VS 2008 and due to be released
soon. It's your decision whether you want to wait for it or not.

Now, each new version of the VC compiler introduces a few
breaking changes so porting to a new version is, alas, always
interesting. Considering you don't know the original codebase
much, I'd advise you just go ahead and port, fixing issues as they
arise. You should certainly check the list of breaking changes
for your chosen compiler and for any previous versions as well
(e.g. VC 7.0, VC 7.1, and VC 8.0 if you decide to use VC 8.0).

--
=====================================
Alexander Nickolov
Microsoft MVP [VC], MCSD
email: agnickolov(a)mvps.org
MVP VC FAQ: http://vcfaq.mvps.org
=====================================

<elwilj(a)gmail.com> wrote in message
news:1190047097.294281.50880(a)19g2000hsx.googlegroups.com...
> I'm new to the MS Visual Studio world. I've just inherited a project
> that was written entirely in VC++ 6.0. Should I make the move to VC+
> +.NET and bybass VC++ 2005? Does the upgrade to .NET involve a great
> deal of code rewrites? What resources are out there to help with this
> migration? We are on Windows 2000 and XP machines ... must admit I'm
> a unix guy thru and thru but this app needs some work. Does anyone
> out there have any recommendations?
>
> Thanks
> LJ
>


From: Giovanni Dicanio on

<elwilj(a)gmail.com> ha scritto nel messaggio
news:1190047097.294281.50880(a)19g2000hsx.googlegroups.com...

> I'm new to the MS Visual Studio world. I've just inherited a project
> that was written entirely in VC++ 6.0. Should I make the move to VC+
> +.NET and bybass VC++ 2005? Does the upgrade to .NET involve a great
> deal of code rewrites?

Hi,

it seems to me that you are a bit confused about terminology.
I think it is not all your fault: sometimes it seems that Microsoft chooses
not very good names (maybe the hype of .NET imposed to put a ".NET" in
everything, so we had kind of confusing Visual Studio .NET 2002, 2003 also
for C++ development... then they came back to just Visual Studio :)

You may find the following Wikipedia page to be interesting:

http://en.wikipedia.org/wiki/Visual_C++

You can read there that, after Visual C++ 6, we had:

- Visual C++ .NET 2002 (a.k.a. VC++7.0)
- Visual C++ .NET 2003 (a.k.a. VC++7.1)
- Visual C++ 2005 (a.k.a. VC++8.0)

Now Visual C++ 2008 is in beta.

To correctly answer your question, IMHO, more elements need to be known,
e.g.:

a) Is your existing code base very big?
b) Is your VC6 project heavily based on MFC?

etc.

For example, as you can read from lots of comments here:

http://blogs.msdn.com/somasegar/archive/2007/08/08/visual-c-futures.aspx

the best IDE for C++ + MFC development is VC6.

If you just want to mantain a legacy big project with lots of lines of
codes, heavily based on MFC, etc. then you may continue using VC6 and extend
your code-base, and enjoy VC6's ClassWizard help.

The real problem of VC6 is that the C++ compiler is a bit old and not very
standard compliant, exspecially for C++ advanced template stuff.
But if you don't use Boost or other advanced template things a lot, the VC6
C++ compiler may be good for you.

After VC6, the Visual Studio IDEs lost the focus on C++, they are no more
designed around a C++-centric "view of the world"; a great tool like
ClassWizard has been removed after VC6, and the lack of ClassWizard causes
productivity hit (and there are other things that I don't like in modern
IDEs, for example: in VC6 the ClassWizard used to put some code into what we
could define the parent of the concept of #regions of modern IDEs, in fact
Visual C++ 6 ClassWizard used to put code *well organized* into special
sections, while VC++2003 mixes everything: controls, event handlers...)

Note that libraries like MFC and ATL have been improved since VC6; the
problem is the *tools* like ClassWizard.

However, in Orcas+1 (i.e. the next version of Visual Studio 2008), there
will be interesting improvements for C++ and MFC, as you can read on
Somasegar's blog.
Note that Visual C++ Team is now listening to customer requests to make a
great C++ IDE again (an example of that is the suggestion box in Somasegar's
blog); I believe they will be successfull.

Moreover, the STL implementation which comes with VC6 has some problems, so
you could find useful to install STLport implementation and use it from VC6.

Instead, if you move to a more modern IDE like VS2003 or 2005, you will be
OK with STL (no need for STLport) and with advanced C++ template code (for
example, it seems that the Blitz++ library does not work with VC6, but needs
VC7 or newer).
Moreover, modern C++ compilers (>= 7) do some security checks, they check
the stack and heap buffers to avoid overflow attacks, etc.

Moreover, if you need to interop with the .NET framework for C++, you should
really move to more modern IDEs like VS2005. In fact, there are some
extensions to C++ in VS2005 to allow C++ code to target the .NET framework,
too.
(Frankly speaking, I think that it is possible to "mix" .NET and C++ also
with VC6, using COM. In fact, VC6 can build COM components, and .NET can
consume COM components, and vice-versa. But the C++/CLI extensions of VS2005
are more straightforward and easier.)

Giovanni


From: Tom Serface on
Aside from all the terminology advice given I'd just port directly to VC++
2005. Going from 2005 to 2008 will be a lot easier so I wouldn't wait. You
will likely find a few things to fix, but I've never taken more than a day
or so converting a project. If you want to really make it a .NET
application (I'm assuming you don't) then that would be a lot more work
especially if the application uses MFC. If the application works as a
native application I don't think you'll benefit from converting it to an
actual .NET application unless there is something specifically there that
you need.

Tom

<elwilj(a)gmail.com> wrote in message
news:1190047097.294281.50880(a)19g2000hsx.googlegroups.com...
> I'm new to the MS Visual Studio world. I've just inherited a project
> that was written entirely in VC++ 6.0. Should I make the move to VC+
> +.NET and bybass VC++ 2005? Does the upgrade to .NET involve a great
> deal of code rewrites? What resources are out there to help with this
> migration? We are on Windows 2000 and XP machines ... must admit I'm
> a unix guy thru and thru but this app needs some work. Does anyone
> out there have any recommendations?
>
> Thanks
> LJ
>