"Visual C++ 6.0" or "Visual C++ .NET" ???

Started by
18 comments, last by Miserable 19 years, 2 months ago
Which version is best for simplicity and quick proramming? I am about to start learning C++ (I don't know a single thing yet...), and I would like to know which one's best for a beginner.... Thanks! :)
Advertisement
.NET; it's a more recent version of the same product. VC++ 6.0 is old, outdated, defective, and obsolete. Don't use it.

Of course, there are also free IDE's such as Dev-C++, Parinya MinGW Developer Studio, and Code::Blocks, based on the GNU compiler suite.
Visual C++ .NET obviously is more feature-rich, but if you're just beginning, I see no problems at all using Visual C++ 6.0. It is in no way "defective" or "obselete" as the previous poster said. It's just not as good.

So, to answer your original question: .NET is better for the beginner, but using 6.0 isn't necessarily bad.

But, in case you didn't know, Visual C++ .NET 2005 can be downloaded for free here:

http://lab.msdn.microsoft.com/express/visualc/
Quote:Original post by spunkybuttockszc
Visual C++ .NET obviously is more feature-rich, but if you're just beginning, I see no problems at all using Visual C++ 6.0. It is in no way "defective" or "obselete" as the previous poster said. It's just not as good.

It really is defective and obsolete. VC++ 6.0 is one of the least compliant compilers still used. There are lots of things that simply won't compile, or will not compile properly with VC++ 6.0, such as almost anything even remotely complex with templates. It's silly to get nowadays considering there have already been two new versions released since then (7.0 and 7.1 aka the .NET and .NET 2003 VC++ compilers). In terms of compliance and optimizations, VC++ 7.1 is a great choice. So, go for VC++ .NET 2003 if at all possible, or go for .NET 2005.
Quote:Original post by Polymorphic OOP
Quote:Original post by spunkybuttockszc
Visual C++ .NET obviously is more feature-rich, but if you're just beginning, I see no problems at all using Visual C++ 6.0. It is in no way "defective" or "obselete" as the previous poster said. It's just not as good.

It really is defective and obsolete. VC++ 6.0 is one of the least compliant compilers still used. There are lots of things that simply won't compile, or will not compile properly with VC++ 6.0, such as almost anything even remotely complex with templates. It's silly to get nowadays considering there have already been two new versions released since then (7.0 and 7.1 aka the .NET and .NET 2003 VC++ compilers). In terms of compliance and optimizations, VC++ 7.1 is a great choice. So, go for VC++ .NET 2003 if at all possible, or go for .NET 2005.


I guess that's possible, considering when I did use VC++ 6.0 I only coded in C, and never used C++. But I'm still not sure I would consider it totally obselete. Surely he could get some use out of it.
do i need the service pack 2 to install VC 2005?
Quote:Original post by BlackWind
do i need the service pack 2 to install VC 2005?


It does not explicity say so. But looking at the fact it needs .NET, you will need IE 6. It later says that
Quote:Installation of Windows XP Service Pack 2 on your computer can cause the firewall for your network connection to automatically restrict most programs, including the LAN performance booster service for Visual SourceSafe, from accessing the network.
when talking about Visual Source Safe, so I think it is not required, but perhaps someone else can verify this as well.

- Drew
For a beginner VS6 is easier to grasp as it doesn't have all
that .NET overhead, but you'll have an outdated C++ standard.
But you know what? If you can compile a program in VS6, you
can compile one in .NET, as it's pretty much the same thing
with the exception that in .NET things are a little more
cluttered. If you can only get one, get .NET or GCC 3.4.3.
Learn C++ the right way.

But if you can get both, get both. You'll never know when
you'll need them. For example, if you're going to build a
game engine, there's nothing like examining professional
code, and alot of game SDKs only work with VS6. SDKs like
Croteam's Serious Sam, Raven Software's Star Trek Elite
Force, Monolith's No One Lives Forever... all these SDKs
have a good portion of thier math and AI library free to
see how they work and how their class hierarchies were
designed (Serious Sam's in particular). And these games
will only work with VS6.

Also, with graphics plugin programming, in my case LightWave,
there is a preference for VS6. My plugins crashed and burned
when I ported them to .NET, so I went back to VS6.
If you are going to program a .NET application, do NOT use VC++. VC++ is supported as a .NET language only because so much code now exists in C++ and VC++.NET offers an easy way to make existing code interoperate with .NET. However, the syntax that the .NET extensions add is unwieldly, and you should really not use it unless you have a good reason to. Microsoft doesn't even advise using VC++.NET for new development, only to port existing applications to .NET.

So, if you want to use .NET, learn C# or maybe Visual Basic.NET. If you want to learn C++, then just don't use the .NET API's or any of the managed code features. You may still want to use VC++ 2005 since it is more up to date. You can just disable the managed code extensions in the project's properties.

Thats my advice, anyway.
Quote:Original post by Dead Eye
For a beginner VS6 is easier to grasp as it doesn't have all
that .NET overhead, but you'll have an outdated C++ standard.

I'm not sure what you mean by overhead. I guess you're talking about UI overhead, because .NET has nothing to do with your program code if you're coding in straight C++, unless you choose to use it.

Quote:But if you can get both, get both. You'll never know when
you'll need them. For example, if you're going to build a
game engine, there's nothing like examining professional
code, and alot of game SDKs only work with VS6. SDKs like

I've never had any troubles with loading VS6 projects in VS.NET..

cheers
sam.

This topic is closed to new replies.

Advertisement