From: Liviu on
"verappan" <alvyn(a)gawab.com> wrote...
> Dear friends,
>
> I am a fresher in VC++ and I joined a new company where the
> development environment is Visual Studio 6.0.
> I asked to our team about upgrading 6.0 to 8.0 and I don't get a good
> reponse for that.
> The project manager told that there no much difference between 6.0 and
> 8.0.
> Anybody please correct me on this, if this is wrong.
> Because strongly believe that 12 yr old application and its upgraded
> version contains definitly be huge change.
>
> Also I got the information from other team members that, if the
> application is developed in VC++ 6.0, then there will not be much
> dependencies on the output EXE and no need to install .Net Runtime
> environment to run the EXE.
>
> Could anyone pleas provide here the advantages and disadvantages
> of VC++ 6.0 and VC++8.0.

I second the points made already, most of them about the advantages
of newer versions (better language compliance especially in C++ and
templates areas, more up-to-date libraries, support for the latest
sdk's, active support and maintenance updates from MS etc).

One plus for v6 which wasn't mentioned (and is probably not important to
most users) was the ability to directly export a makefile, so it was
easier to keep builds in sync between the IDE and the command line
(not to mention that the bare v6 compiler binaries could essentially be
xcopy'd to a separate build machine or vm without a full install).

However, back to your question, you don't provide enough details for
a real answer. Just because the newer versions are a decade more recent,
that alone does not make them automatically "better". One example, v10
which is around the corner was dubbed "the new v6", so maybe not all old
version were that bad to begin with ;-) Seriously now, it depends a lot
on what areas your group works in. If for example you develop mostly
C or C++ with little templates then the upgrade may not make a striking
difference. Or, if you depend on other 3rd party libraries tied to
certain versions of the compiler, then the upgrade may even be painful.

The reason you quote other team members for having given you about the
..net dependency is wrong - as pointed already, you can happily build
native/unmanaged applications in all later versions. Yet, the reason you
give for upgrading just because "it's newer" is not very convincing,
either (and won't make you sound too professional, for that matter).
If, instead, you can point out specifics to them e.g. "we could use
covariant return types here, but v6 doesn't support that" you might
stand a better chance to be heard and given due consideration.

Liviu


From: Richard on
[Please do not mail me a copy of your followup]

"Liviu" <lab2k1(a)gmail.c0m> spake the secret code
<OGLV2OF0KHA.4636(a)TK2MSFTNGP06.phx.gbl> thusly:

>One plus for v6 which wasn't mentioned (and is probably not important to
>most users) was the ability to directly export a makefile, so it was
>easier to keep builds in sync between the IDE and the command line
>(not to mention that the bare v6 compiler binaries could essentially be
>xcopy'd to a separate build machine or vm without a full install).

FYI, you don't need a Makefile to do command-line builds. Just run
devenv.com with the appropriate switches. I've run lots of
command-line builds for VS.NET without ever needing a Makefile.
--
"The Direct3D Graphics Pipeline" -- DirectX 9 draft available for download
<http://legalizeadulthood.wordpress.com/the-direct3d-graphics-pipeline/>

Legalize Adulthood! <http://legalizeadulthood.wordpress.com>
From: Liviu on
"Richard" <legalize+jeeves(a)mail.xmission.com> wrote...
> "Liviu" <lab2k1(a)gmail.c0m> spake the secret code ... thusly:
>
>> One plus for v6 which wasn't mentioned (and is probably not
>> important to most users) was the ability to directly export a
>> makefile, so it was easier to keep builds in sync between the
>> IDE and the command line (not to mention that the bare v6
>> compiler binaries could essentially be xcopy'd to a separate
>> build machine or vm without a full install).
>
> FYI, you don't need a Makefile to do command-line builds. Just run
> devenv.com with the appropriate switches. I've run lots of
> command-line builds for VS.NET without ever needing a Makefile.

I only said that the v6 option to export a makefile made it _easier_,
not that the v7+ lack thereof made it impossible ;-)

I am aware of devenv (and vcbuild/etc), but it's not the same thing. For
a quibble, but in my experience the command-line devenv builds slower at
the cmd line vs. the exact same build run from the IDE. It used to be
the reverse case up to v6, with nmake and makefiles which spawned
cl/link/etc directly. But, again, that's just a minor thing.

The other distinction is that a makefile is an open, documented
"blueprint" of the build, and a normal part of a source distribution.
Microsoft's compiler/linker/etc switches (as used in a makefile)
are officially and clearly documented. In contrast, a vcproj file is a
closed-form script of the same build process, but with no official
documentation or changelog between versions. The actual commands
and switches can be looked up in the resulting buildlog.htm, of course,
yet that's not something one would normally consider a source, put
under version control, or include with a source package.

Liviu


From: verappan on
Dear friends,

Thanks for the response.
I understand that the latest versions of visual c++ is far supirior
than VC++6.0.
I got some points for the discussion :)
The project I am working is a Medical Image Viewer in win32 and MFC
There is not much usage of templates and there are some 3rd party
libraries inlcuded.
And the client OS(where the output exe is running) is mostly Win2k and
XP.
These are the background of the project that I am working.
As an ethusiastic user, I am still expecting more comments based on
these information.

Thanks and Regards
Vayanad







From: Richard on
[Please do not mail me a copy of your followup]

"Liviu" <lab2k1(a)gmail.c0m> spake the secret code
<ecbSx7H0KHA.6108(a)TK2MSFTNGP06.phx.gbl> thusly:

>I am aware of devenv (and vcbuild/etc), but it's not the same thing. For
>a quibble, but in my experience the command-line devenv builds slower at
>the cmd line vs. the exact same build run from the IDE.

Are you counting the time it takes to launch the IDE? Otherwise its
not a fair comparison.

>The other distinction is that a makefile is an open, documented
>"blueprint" of the build, and a normal part of a source distribution.

vcproj and sln files are a normal part of source distribution. It is
well documented how to build a project or a collection of projects
using command-line switches for devenv. If you're using project
files, you probably aren't opening them in a text editor and changing
text in order to change project settings; you're changing those
settings in the IDE using the GUI. If for some reason you need to
make programmatic changes to projects, you can use the automation
interface and scripts to do that.

I've been using VS since VC6 (1998) and I've never needed Makefiles
for my VS projects. I've automated builds and done all sorts of
things with projects/solutions and never needed Makefiles.
--
"The Direct3D Graphics Pipeline" -- DirectX 9 draft available for download
<http://legalizeadulthood.wordpress.com/the-direct3d-graphics-pipeline/>

Legalize Adulthood! <http://legalizeadulthood.wordpress.com>