Sign in to follow this  
Jarwulf

visual studio 2010 worth it?


Recommended Posts

Jarwulf    223
Hi, I thought since its been out for awhile I'd like to ask what people think of VS2010. Is it worth an upgrade from vs2008? I'm concerned about what looks like higher system resource use/instability and wonder whether what they've added would be worth that price. I've been programming for a few years but I wouldn't consider myself any expert or power user.

Share this post


Link to post
Share on other sites
Erik Rufelt    5901
I like it better, though I only use the free express version. I definitely recommend downloading it and trying it out.
[url="http://www.microsoft.com/visualstudio/en-us/products/2010-editions/express"]http://www.microsoft.com/visualstudio/en-us/products/2010-editions/express[/url]

Share this post


Link to post
Share on other sites
NightCreature83    5002
[quote name='Jarwulf' timestamp='1312478124' post='4844572']
Hi, I thought since its been out for awhile I'd like to ask what people think of VS2010. Is it worth an upgrade from vs2008? I'm concerned about what looks like higher system resource use/instability and wonder whether what they've added would be worth that price. I've been programming for a few years but I wouldn't consider myself any expert or power user.
[/quote]

It depends a little bit what you want to get it for, they did unify all the build systems so there is no longer a different one for C++ and the .NET languages. It supports multimonitors properly now, which is a pain in VS2008 at the moment.


If you are a C++ coder it now supports inline function compiling, so you get squiggly lines like in C#, support for some C++0x features.

Share this post


Link to post
Share on other sites
EJH    315
Unless you need 64-bit compilation, the Express versions are free. So I'd say yeah, totally worth it. ;)

Share this post


Link to post
Share on other sites
speciesUnknown    527
Lets look at the new features.

c++ intellisense is better.
Incremental update in supported .net versions.

Is that it? I seem to have missed a few things here.

So really, from my perspective, all vs2010 does is use more memory (it struggles on my 2gb laptop, with bits of it constantly getting paged out. I spend no end of time waiting for it while it hangs) and support the newer compiler versions? The reason 2010 exists is that they wanted to escape from the winforms / win32 nightmare that was the previous code base. They've not really added a whole lot of newer features. Going from 2k8 professional to 2010 express is a massive downgrade in features; so, if upgrading means moving from pro to express, don't bother.


[edit] oh yeah, i missed the new multimonitor support, although im not sure express has that, so again, going from 2k8 professional to 2010 express is a downgrade.

Share this post


Link to post
Share on other sites
mhagain    13430
I'd wait until the next version (2012? whatever). To me there seem to be still some usability glitches in the UI, even post-SP1 ("find" is still sufficiently weird to put me off), and some of the quite radical changes in how things work (both behind the scenes and in-yer-face) need to shake out and get more customer feedback influencing their future evolution. That said, it does compile C++ somewhat faster, the improved intellisense is nice, and if you're on a project for which 2010 is the only option then you've really no choice.

Share this post


Link to post
Share on other sites
Ravyne    14300
We're not that far from the next version, so if you're happy with 2008 I'd save the scratch for now and give 2010 express a whirl if it meets your needs feature wise. While 2010 offers a lot of nice features, it is known to use more resources than 2008. Rumor is that 2012 will stifle or reverse that trend, similar to Windows 7 vs. Vista.

Share this post


Link to post
Share on other sites
gekko    478
If you're not an expert or power user, then what are you using (Pro, Express)? You asked if it's worth the price, making it sound like you own VS2008, which seems a bit expensive if you're not an expert or power user.

It's hard to answer this question without having a good idea of what you do. What kind of programs do you write, what language(s) do you use, etc. There are tons of reasons to upgrade, but they may not be applicable to you.

Share this post


Link to post
Share on other sites
iMalc    2466
Do not use VS2010 with 32-bit Windows XP unless you want the compiler to frequently hang, crash, generate internal compiler errors, or otherwise randomly piss you off.
Works great on 64-bit Windows 7 though, and one [i]could[/i] argue that XP is the problem.

Share this post


Link to post
Share on other sites
_moagstar_    465
At work I have both 2008 and 2010 Professional installed, but haven't converted any of our C++ projects yet, since every time I open 2010 the UI is slower, compilation is slower, intellisense is slower, opening any dialog takes about 10 seconds the first time, my cpu usage goes sky high and the whole thing is just pretty unpleasant to use. I did manage to get some performance benefits by installing SP1 and turning off hardware acceleration for the UI. Forcing the garbage collector bizarrely seems to help a little (Ctrl-Shift-F12 x 2). . A couple of things that I would like to upgrade to 2010 for are...

* C++0x features
* Multi-monitor support
* Better syntax highlighting
* #include auto complete
* Loads of new macros for use in property sheets


But these are certainly not enough to persuade me to put up with the performance problems. Until these performance problems are well and truly sorted I will stick with 2008.

Since I don't manage our C# projects I didn't get a say in whether these are upgraded or not, so I do use 2010 occasionally for C# development. To be honest I have less problems with these, they are generally a lot smaller so it's difficult to tell, but perhaps it's something to do with intellisense trying to get it's head around the C++ projects that's making it so sloooow!

I am also using 32bit XP so perhaps I am running into the same problems that iMalc points out. The express edition seems to run like a dream on my home laptop (Windows 7 64bit)

Share this post


Link to post
Share on other sites
gekko    478
I've also used 2010 on 32-bit XP, and it's quite slow to launch. I use it more heavily on 64-bit Win7 and have no issues with performance (compared to 2008, which isn't exactly speedy). On both platforms I haven't had any issues with stability.

If you use Visual Assist X, you can try disabling IntelliSense since that's finally exposed as an option. I haven't had any issues with IntelliSense speed, it's certainly much faster than 2008, especially when you switch build configurations. I've also always been using Visual Assist, so am effectively parsing the code twice.

Share this post


Link to post
Share on other sites
Trienco    2555
I'm confused. Did 2008 already support debugging STL containers? Use multiple cores for compiling? Support at least a few features of C++0x? Usually I'm glad when I come home from work (using VS2008) and can go back to using 2010 Express. Though I'm not on XP here and at work the first startup of 2010 takes forever on XP (though I never into any other issues).

Since Express is free, how it can not be worth it? It's not like it's putting a gun to your head and forcing you to uninstall your old IDE.

Share this post


Link to post
Share on other sites
_moagstar_    465
[quote name='Trienco' timestamp='1312558648' post='4845057']
Did 2008 already support debugging STL containers?
[/quote]

Do you mean inspect the elements in an STL container while debugging? 2005 could do that.

[quote name='Trienco' timestamp='1312558648' post='4845057']
Use multiple cores for compiling?
[/quote]

[url="http://msdn.microsoft.com/en-us/library/bb383805(v=VS.90).aspx"]Yes[/url]

[quote name='Trienco' timestamp='1312558648' post='4845057']
Support at least a few features of C++0x?
[/quote]

Technically no, but it has an implementation of tr1, which formed part of the new specification. However the C++0x features proper are the main reason I would want to upgrade.

[quote]
[color=#1C2837][size=2]Since Express is free, how it can not be worth it? It's not like it's putting a gun to your head and forcing you to uninstall your old IDE.[/size][/color]
[size="2"][color="#1c2837"][/quote][/color][/size]
[size="2"][color="#1c2837"]
[/color][/size]
[size="2"][color="#1c2837"]I couldn't agree more, the free version is certainly worth installing, and I've had zero problems with the express version at home, at work with the professional edition on a 32bit XP machine 2010 is unusable. Luckily we are upgrading to new hardware with Windows 7 64 bit in the next month, so I am very interested if this will have an effect.[/color][/size]

Share this post


Link to post
Share on other sites
Cygon    1219
[quote name='EJH' timestamp='1312490096' post='4844685']
Unless you need 64-bit compilation, the Express versions are free. So I'd say yeah, totally worth it. ;)
[/quote]

Visual C++ 2010 Express has full and official support for 64 bit compilation. All you need to do is install the latest Windows SDK to get the 64 bit compilers, the new architecture then become available in the VS Express IDE automatically.

Share this post


Link to post
Share on other sites
NightCreature83    5002
[quote name='Cygon' timestamp='1312564287' post='4845091']
[quote name='EJH' timestamp='1312490096' post='4844685']
Unless you need 64-bit compilation, the Express versions are free. So I'd say yeah, totally worth it. ;)
[/quote]

Visual C++ 2010 Express has full and official support for 64 bit compilation. All you need to do is install the latest Windows SDK to get the 64 bit compilers, the new architecture then become available in the VS Express IDE automatically.
[/quote]
Proper 64-bit compiling is supported since VS 2005 actually and it was that SDK that introduced it not the latest one.

Share this post


Link to post
Share on other sites
Tachikoma    575
Yep Express versions can compile 64-bit code (without hacking, which i had to do in 2008), assuming you have Windows SDK 4 installed.

Share this post


Link to post
Share on other sites
ChaosEngine    5185
[quote name='_moagstar_' timestamp='1312563910' post='4845087']

[quote name='Trienco' timestamp='1312558648' post='4845057']
Use multiple cores for compiling?
[/quote]

[url="http://msdn.microsoft.com/en-us/library/bb383805%28v=VS.90%29.aspx"]Yes[/url]

[/quote]

Actually, there is a difference between the two. VS2008 would use one process [b]per project[/b]. VS2010 allows you to use multiple cores on a single project. At work, I have a large legacy C++ project that is part of the solution. Upgrading to 2010 on a quad core machine has [b]drastically [/b]reduced the build time (from around 40 mins to 10 mins).

Share this post


Link to post
Share on other sites
_moagstar_    465
[quote name='ChaosEngine' timestamp='1312771060' post='4846026']
Actually, there is a difference between the two. VS2008 would use one process [b]per project[/b]. VS2010 allows you to use multiple cores on a single project. At work, I have a large legacy C++ project that is part of the solution. Upgrading to 2010 on a quad core machine has [b]drastically [/b]reduced the build time (from around 40 mins to 10 mins).
[/quote]

You're thinking of the [url="http://msdn.microsoft.com/en-us/library/6f5ct4k0(v=VS.90).aspx"]/M[/url] option. You can also specify the number of processes for building multiple source files using [url="http://msdn.microsoft.com/en-us/library/bb385193(v=VS.90).aspx"]/MP[/url] (which has also been available since 2008). It's certainly not unthinkable though that this feature has been improved for 2010.

Share this post


Link to post
Share on other sites
NightCreature83    5002
[quote name='ChaosEngine' timestamp='1312771060' post='4846026']
[quote name='_moagstar_' timestamp='1312563910' post='4845087']
[quote name='Trienco' timestamp='1312558648' post='4845057']
Use multiple cores for compiling?
[/quote]

[url="http://msdn.microsoft.com/en-us/library/bb383805%28v=VS.90%29.aspx"]Yes[/url]

[/quote]

Actually, there is a difference between the two. VS2008 would use one process [b]per project[/b]. VS2010 allows you to use multiple cores on a single project. At work, I have a large legacy C++ project that is part of the solution. Upgrading to 2010 on a quad core machine has [b]drastically [/b]reduced the build time (from around 40 mins to 10 mins).
[/quote]
offtopic:
You might wanna look into Incredibuild and unity builds for your projects if you have build times that long

Share this post


Link to post
Share on other sites
ChaosEngine    5185
[quote name='_moagstar_' timestamp='1312784743' post='4846072']
[quote name='ChaosEngine' timestamp='1312771060' post='4846026']
Actually, there is a difference between the two. VS2008 would use one process [b]per project[/b]. VS2010 allows you to use multiple cores on a single project. At work, I have a large legacy C++ project that is part of the solution. Upgrading to 2010 on a quad core machine has [b]drastically [/b]reduced the build time (from around 40 mins to 10 mins).
[/quote]

You're thinking of the [url="http://msdn.microsoft.com/en-us/library/6f5ct4k0%28v=VS.90%29.aspx"]/M[/url] option. You can also specify the number of processes for building multiple source files using [url="http://msdn.microsoft.com/en-us/library/bb385193%28v=VS.90%29.aspx"]/MP[/url] (which has also been available since 2008). It's certainly not unthinkable though that this feature has been improved for 2010.
[/quote]

My apologies, you are correct. For some reason I had confused 2005 with 2008.

[quote name='NightCreature83' timestamp='1312933247' post='4846959']

offtopic:
You might wanna look into Incredibuild and unity builds for your projects if you have build times that long
[/quote]

I'm aware of both of these tools, but the infrequency of complete rebuilds makes it a pretty hard sell for those holding the purse strings.

Share this post


Link to post
Share on other sites
NightCreature83    5002
[quote name='ChaosEngine' timestamp='1312951612' post='4847031']
[quote name='_moagstar_' timestamp='1312784743' post='4846072']
[quote name='ChaosEngine' timestamp='1312771060' post='4846026']
Actually, there is a difference between the two. VS2008 would use one process [b]per project[/b]. VS2010 allows you to use multiple cores on a single project. At work, I have a large legacy C++ project that is part of the solution. Upgrading to 2010 on a quad core machine has [b]drastically [/b]reduced the build time (from around 40 mins to 10 mins).
[/quote]

You're thinking of the [url="http://msdn.microsoft.com/en-us/library/6f5ct4k0%28v=VS.90%29.aspx"]/M[/url] option. You can also specify the number of processes for building multiple source files using [url="http://msdn.microsoft.com/en-us/library/bb385193%28v=VS.90%29.aspx"]/MP[/url] (which has also been available since 2008). It's certainly not unthinkable though that this feature has been improved for 2010.
[/quote]

My apologies, you are correct. For some reason I had confused 2005 with 2008.

[quote name='NightCreature83' timestamp='1312933247' post='4846959']
offtopic:
You might wanna look into Incredibuild and unity builds for your projects if you have build times that long
[/quote]

I'm aware of both of these tools, but the infrequency of complete rebuilds makes it a pretty hard sell for those holding the purse strings.
[/quote]
Unity builds are free though, well they do need some programmer time to setup in the beginning but compiling within 3 minutes where it took 40 before should earn that time back quickly.

Share this post


Link to post
Share on other sites
Cygon    1219
[quote name='NightCreature83' timestamp='1312588032' post='4845276']Proper 64-bit compiling is supported since VS 2005 actually and it was that SDK that introduced it not the latest one.[/quote]

VC++ 2005 Express users could download the 64 bit compilers with the Windows SDK and use them from the command line. The IDE didn't support 64 bit targets, you had to trick it into believing it was using the 32 bit compilers to make it work.
VC++ 2008 Express put a stop to these tricks and forced people to use the command line if they wanted to compile 64 bit binaries.
VC++ 2010 Express is the first release that allows you to create x64 and Itanium build configurations directly - if you have the Windows SDK for .NET 4 installed.

Note that I'm talking about the Express editions of Visual Studio (both me and the poster I quoted explicitly mentioned this, too), not the full Visual Studio and not about the contents of the Windows SDK / ex Platform SDK.

Share this post


Link to post
Share on other sites
NightCreature83    5002
Hidden
[quote name='Cygon' timestamp='1313150689' post='4848188']
[quote name='NightCreature83' timestamp='1312588032' post='4845276']Proper 64-bit compiling is supported since VS 2005 actually and it was that SDK that introduced it not the latest one.[/quote]

VC++ 2005 Express users could download the 64 bit compilers with the Windows SDK and use them from the command line. The IDE didn't support 64 bit targets, you had to trick it into believing it was using the 32 bit compilers to make it work.
VC++ 2008 Express put a stop to these tricks and forced people to use the command line if they wanted to compile 64 bit binaries.
VC++ 2010 Express is the first release that allows you to create x64 and Itanium build configurations directly - if you have the Windows SDK for .NET 4 installed.

Note that I'm talking about the Express editions of Visual Studio (both me and the poster I quoted explicitly mentioned this, too), not the full Visual Studio and not about the contents of the Windows SDK / ex Platform SDK.
[/quote]
All the IDE does is invoke the command line compiler and linker, seeing that the 32-bits version of the compiler can compile 64-bits code it isn't hard to add an additional switch to the command line in the IDE, you can even safe this under a configuration called X64. The platform and configuration settings are just stored settings in the solution file that make it easy to switch between targets, all they do internally is change the commandline.

The same goes for the linker section where you specify \MACHINE:x64 and it will spit out a 64-bit executable.

Provided off course that the required platform SDK is installed.


Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this