Visual Studio 6 or .NET for C++?

P

Paul Schauble

I'm about to move a moderately large program from a different
environment onto Windows. The program is written in C++

I have a choice of Visual Studio 6 or Visual Studio .NET 2002.

What are the pros and cons of these two environments for a straight C++
windows app. Does VS .NET get me a better compiler? How? The managed
code features are of no interest in the foreseeable future.

Thanks,
++PLS
 
W

William DePalo [MVP VC++]

Paul Schauble said:
I have a choice of Visual Studio 6

This one is five or six years old.
or Visual Studio .NET 2002.

This one is about two years old.

Go with VS.Net 2003, it has the best compiler to come out of MS in a while.

Regards,
Will
 
C

Carl Daniel [VC++ MVP]

Paul said:
I'm about to move a moderately large program from a different
environment onto Windows. The program is written in C++

I have a choice of Visual Studio 6 or Visual Studio .NET 2002.

What are the pros and cons of these two environments for a straight
C++ windows app. Does VS .NET get me a better compiler? How? The
managed code features are of no interest in the foreseeable future.

Since you're moving from a different environment, it stands to reason that
the code is not MFC-based. If it were, many people would recommend using
VC6.

For straight C++, Visual Studio .NET 2003 is really what you want. If 2002
is your only option, it's a little better than VC6 with regard to language
conformance, and a lot better with regard to standard library conformance.

-cd
 
T

Tim Roberts

Carl Daniel said:
Since you're moving from a different environment, it stands to reason that
the code is not MFC-based. If it were, many people would recommend using
VC6.

Carl, I've never heard that. Can you explain why this should be? Has the
MFC in VC.NET reached its "Peter Principle" limit?
 
J

Julian Nicholls

No, MFC 7.0 is fine, it's more that the Visual Studio for VC++ 6 is geared
toward developing MFC programs, and VS .NET 2003, as its name suggests, is
aimed toward developing .NET applications. The main loss is the
ClassWizard.

Best Regards
Julian Nicholls
 
I

Ioannis Vranos

Paul Schauble said:
I'm about to move a moderately large program from a different
environment onto Windows. The program is written in C++

I have a choice of Visual Studio 6 or Visual Studio .NET 2002.


There is also Visual Studio .NET 2003.


What are the pros and cons of these two environments for a straight C++


Regarding ISO C++ conformance 2002 and 2003 have far better conformance than
VC++ 6, with the 2003 version having ~100% and 2002 ~90+%.
2003 also has a RAD for VC++ (common for all languages VB, VC# etc).


windows app. Does VS .NET get me a better compiler? How? The managed
code features are of no interest in the foreseeable future.


Yes the compiler is better, the .NET API is the *same* for all languages,
code written in different languages can interoperate since everything is
translated to MSIL.






Ioannis Vranos
 
M

maddog

I've found that doing MFC with dot net just as good as Dev6. All the bits
class wiz did have just moved to the properties panel. I like the changes,
not that bad a change.


The real downer of .net for me, which i`ve only just found out today, is
that the profiler has vanished!

Julian Nicholls said:
No, MFC 7.0 is fine, it's more that the Visual Studio for VC++ 6 is geared
toward developing MFC programs, and VS .NET 2003, as its name suggests, is
aimed toward developing .NET applications. The main loss is the
ClassWizard.

Best Regards
Julian Nicholls

Tim Roberts said:
"Carl Daniel [VC++ MVP]"
 
C

Carl Daniel [VC++ MVP]

maddog said:
I've found that doing MFC with dot net just as good as Dev6. All the
bits class wiz did have just moved to the properties panel. I like
the changes, not that bad a change.


The real downer of .net for me, which i`ve only just found out today,
is that the profiler has vanished!

It has... but you can download a version of Comuware's DevPartner Profiler
for free.

See (very long URL - watch for wraps)

http://www.compuware.com/products/d...r+Community+Edition'&offering=DevPartner&sf=1

-cd
 
J

Julian Nicholls

I have developed one MFC app from scratch since having VS .NET 2003 and,
like you, I thought it was OK. I missed the ClassWizard because its
functionality was in one place rather than spread about.

It's particularly noticeable when wiring up a dialog's fields, in that you
can only do one at a time with VS .NET 2003.

All the Best
Julian N.
 
P

Peter van der Goes

Carl Daniel said:
2002
is your only option, it's a little better than VC6 with regard to language
conformance, and a lot better with regard to standard library conformance.

-cd
Amen. Best compliance with standards yet.
(To the OP) Go with the current version (Visual Studio .NET 2003) in the
edition you need.
 
P

Pavel A.

maddog said:
I've found that doing MFC with dot net just as good as Dev6.

But the MFC runtime is different from VC6, right?
You can't use mfc42... DLLs with .NET compiler?

--PA
 
T

Tom Serface

FWIW, I agree with the others that you should go with VC++ 2003. However, I
disagree with Carl :) I use MFC all the time with the latest compiler and
it works great. It will even work with managed code just in case you do see
that as interesting in the future. You may want to consider managed code,
at least, since it adds some benefits (use of code from other languages,
scripting, security, etc.)

Tom
 
M

Mihai N.

I've found that doing MFC with dot net just as good as Dev6.
But the MFC runtime is different from VC6, right?
You can't use mfc42... DLLs with .NET compiler?
It is different (mfc71.dll etc.)
In my opinion the mfc 7.1 is better.
You can nicely use the new versions of RichEdit controls
(with mfc 4.2 you where limited to 1.0, unless you
did some "dirty tricks").
CString was redesigned, and now you can use both Unicode
and ANSI versions of CString in the same application,
having full control.

One annoying bug that I not remember from mfc 4.2: the
document history of a mfc applicatin generated by the wizard
does not store the full path. You open a file, close it.
You can see it in the history, but if you try to open it
it complains that the file does not exist.

But you can just write a work-around once and use it in all
other applications.
 
B

Bob Moore

Has the
MFC in VC.NET reached its "Peter Principle" limit?

No it's just that the IDE in VC6 is better for working with MFC apps.
The principle problem (for me at least) is the abysmal Add Variable
dialog, which is dog-slow and and can't do more than one variable
without being relaunched.

This, combined with the resource editor bugs (names replaced with
numbers, vanishing resources) were sufficient to make us throw out
VS.Net and return to VC6.
 
P

Pavel A.

Thank you Mihai!
Now, does the new MFC runtime work without .NET runtime?
What you need to package with your app for win2000/XP?
 
C

Carl Daniel [VC++ MVP]

Pavel said:
Thank you Mihai!
Now, does the new MFC runtime work without .NET runtime?

Yes, of course. MFC is a native framework and not in any way dependent on
..NET.
What you need to package with your app for win2000/XP?

Your app + MFC71.DLL + MSVCR71.DLL + MSVCP71.DLL (maybe - C++ standard
library).

-cd
 
T

Tom Serface

Hi Bob,

I haven't noticed that being a problem, but to be fair I didn't use the old
ClassWizard much anyway (it was klutzy). I mostly just add my stuff in
where I need it. Once you learn the MFC stuff the wizard is sort of a waste
of time imo.

Tom
 
P

Paul Schauble

Unfortunately VS .NET 2003 isn't possible. The judgement of the powers-
that-be was that 2003 doesn't offer enough to be worth the cost.

Back to VS6 vs. 2002/2003. How does the .NET debugger compare to that in
VS6?

Thanks,
++PLS
 
C

Carl Daniel [VC++ MVP]

Paul said:
Unfortunately VS .NET 2003 isn't possible. The judgement of the
powers- that-be was that 2003 doesn't offer enough to be worth the
cost.

Too bad the powers that be weren't paying attention a year ago when you
could've updated to 2003 for $29.

This has probably been mentioned in this thread before, but if you're
porting C++ code that makes use of advanced template features, it's likely
that neither VC6 nor VS.NET 2002 will be very satisfactory.
Back to VS6 vs. 2002/2003. How does the .NET debugger compare to that
in VS6?

The native debugger in VS.NET 2002 (VC7) is a superset of the debugger in
VC6. I haven't run into any situation that the VC7 debugger didn't handle
at least as well as the VC6 debugger.

-cd
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top