From: jhc0033 on
Is upgrading from VS2005 Standard to VS2008 Standard worth my time?

Are there any improvements in C++ support? I try to write ANSI and
cross-platform C++, so Windows-specific library enhancements aren't
relevant to me. However, if the debugger got much better, or
IntelliSense more useful, or VS2008 can finally detect uninitialized
value access, I might actually upgrade.
From: Giovanni Dicanio on

<jhc0033(a)gmail.com> ha scritto nel messaggio
news:0d4079cd-9499-4b32-8468-d25d00a8db76(a)1g2000prg.googlegroups.com...
> Is upgrading from VS2005 Standard to VS2008 Standard worth my time?
>
> Are there any improvements in C++ support? I try to write ANSI and
> cross-platform C++, so Windows-specific library enhancements aren't
> relevant to me. However, if the debugger got much better, or
> IntelliSense more useful, or VS2008 can finally detect uninitialized
> value access, I might actually upgrade.

I don't know about IntelliSense of VS2008, because I use (and love) Visual
Assist X.

However, I think that VS2008 IDE is faster than VS2005.
Moreoever, with VS2008 you can download (for free) the Visual C++ Feature
Pack, and you will get some C++ TR1 components off-the-shelf, like
shared_ptr.
And you also have a debug visualizer for shared_ptr, off-the-shelf.

So, I would suggest to upgrade to VS2008 Professional.

My 2 cents,
Giovanni



From: Alex Blekhman on
<jhc0033(a)gmail.com> wrote:
> Is upgrading from VS2005 Standard to VS2008 Standard worth my
> time?
>
> Are there any improvements in C++ support?

In addition to VS Feature Pack that includes TR1 here's full list
of new features:

"What's New in Visual C++ 2008"
http://msdn.microsoft.com/en-us/library/bb384632.aspx

> [...] VS2008 can finally detect uninitialized value access, I
> might actually upgrade.

VS could detect uninitialized variables for ages already. You need
to compile with warning level 4, then you'll see C4701 warnings.
Also, VS Team System C++ compiler includes code analysis feature,
which can give even more detailed warnings (see C6001 warning, for
example).

HTH
Alex



From: Nathan Mates on
In article <eoEkIxatIHA.4076(a)TK2MSFTNGP06.phx.gbl>,
Alex Blekhman <tkfx.REMOVE(a)yahoo.com> wrote:
>> [...] VS2008 can finally detect uninitialized value access, I
>> might actually upgrade.

>VS could detect uninitialized variables for ages already. You need
>to compile with warning level 4, then you'll see C4701 warnings.

It can detect only the most trivially uninitialized variables.
I've posted this example before, which generates *zero* warnings
(compile or runtime) with VS2005 SP1 at warning level 4, debug
build. Here's the entire source code, and it has a 50/50 chance of
using a variable uninitialized. [Complete source & .vcproj/.sln
files could be uploaded, it's not much at all.]

--- Begin main.cpp

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

void foo(int& v)
{
if(rand() & 0x01)
v = 0;
}

int main(int /*argc*/, char** /*argv*/)
{
srand((unsigned int)time(NULL));
int v;
foo(v);
printf("v = %d", v);
return 0;
}

--- end main.cpp

Static code analysis like Coverity can detect this now. Dynamic
runtime checks like Boundschecker or Valgrind (linux only) can detect
this as well. I'd like to hope that VS2008 does better at this test,
but I have little faith in MS.

Nathan Mates
--
<*> Nathan Mates - personal webpage http://www.visi.com/~nathan/
# Programmer at Pandemic Studios -- http://www.pandemicstudios.com/
# NOT speaking for Pandemic Studios. "Care not what the neighbors
# think. What are the facts, and to how many decimal places?" -R.A. Heinlein
From: Tom Serface on
Intellisense is better, debugger has a couple of cool new options, and the
IDE seems to respond faster to lots of places where it used to hang for a
number of seconds. I don't know about uninitialized values, I know there is
a warning in the compiler where variables are declared and not used and, for
some things, variables that are uninitialized, but nothing precluding you
from ignoring those warnings.

Tom

<jhc0033(a)gmail.com> wrote in message
news:0d4079cd-9499-4b32-8468-d25d00a8db76(a)1g2000prg.googlegroups.com...
> Is upgrading from VS2005 Standard to VS2008 Standard worth my time?
>
> Are there any improvements in C++ support? I try to write ANSI and
> cross-platform C++, so Windows-specific library enhancements aren't
> relevant to me. However, if the debugger got much better, or
> IntelliSense more useful, or VS2008 can finally detect uninitialized
> value access, I might actually upgrade.