After some initial double-takes and discomfort over some of the things that were changed in VS 2005, I’ve become convinced enough of the benefits of the new version to cough up for the Professional upgrade. The free Express edition is an extremely good deal, but there are definitely things that I miss from the Pro version of Visual Studio, and given that I spend a very large part of my time indeed in this environment it’s worth spending the money. Specifically, I felt I ‘needed’:
- Full extension support. I purchased Visual Assist a long time ago and feel rather naked without it. Even though Intellisense seems a whole lot better in 2005 (it was pretty rubbish for C++ in previous versions), I still miss those little extras like instant flipping between corresponding headers and source, better method jumps and code shortcuts / templates that are a little better than the standard macro fare. I also have VTune to consider which can’t plug into Express.
- Profile based optimisation. This is where VC can make optimisation decisions based on monitoring the runtime behaviour of your application, thus making it able to make better decisions on loop unrolling, inlining and the like. This sounds like a great feature, replicating the sort of manual assembler optimisation we used to do in years gone by for critical sections of software engines.
- Remote debugging. This is invaluable when you can’t replicate a problem on a fully equipped developer machine, or you need to debug fullscreen issues.
- Deployment Tools. Whilst I’m pretty happy with WiX now I’m interested to see what you get in the full VS 2005.
- Full ‘user experience’. In Express, there are things missing from the UI. For example, all warnings and errors remain in the log output like VC6 used to, unlike in VS.Net 2002 where they go into a prioritised task list. When you’re doing a batch build for a lot of projects and want to come back to any issues later, it’s a pain to have to scroll through a huge log to find the issues. This is one of the things they mean when they say that Express has a ‘Streamlined User Experience’. I want my task list back, sod being streamlined 😉
Clearly, none of these are make-or-break features for the average coder - a testament to just how useful Express is - but nevertheless they are very useful to the heavy user; so I think that MS have pitched this one just right. That’s right - despite my rants I’m not in fact a rabid MS-hater, I really do give MS credit when they do something right 😀I’ve always said Visual Studio is one of the few things they do rather well.
I feel kind of bad though. Express really is a fantastic deal and will almost certainly attract users away from the free alternatives for C++ coders on Windows; namely Dev-C++ and Code::Blocks. I don’t like the former - it’s the latter which bothers my conscience a little, since I like Code::Blocks a lot, and the developers are fairly regular visitors to our forum. But, if someone now asks me what’s the best free C++ environment to develop on in Windows, my recommendation has to be Visual C++ 2005 Express. Luckily Code::Blocks runs on other platforms too if asked about a cross-platform C++ environment, it still wins. Also, MS have only agreed to make Express free for a year, not permanently - the intention may well be to get people hooked, then charge in a year’s time, although the original price they were going to charge (but waived) was $69, so it’s not bank breaking. But, it may well mean the tide will turn back in a year for the free alternatives on Windows.