Not quite a Yegge long.

Visual Studio 2010 – 10 is the new 6, but not the way they wanted

Monday 27 July 2009 - Filed under opinion

I hate Visual Studio 6 with a passion. I gave Visual Studio 2010 B1 approximately 3 hours on my box before I decided I hate it, too.

A whirlwind tour of the exciting new breakage in this version:

  • Flash rewritten code editor in WPF. Wait, I thought WPF was unbearably slow? Indeed, that turns out to be correct. The code editor is now unbearably slow. It’s alright though, because you get a stupid gradient painted behind your selection now. And the caret likes to be gray sometimes and black other times. What’s going on?
  • External Dependencies is back for C++ projects. This was a broken annoyance in VC6, and it’s a working annoyance in VC10. The IDE will take a short pause randomly and then crap out a folder you *can’t hide* in your project node. Give me a way to turn it off, or hide it, or whatever. I don’t care. But at least it doesn’t get stuck after `basetsd.h` like VC6 did.
  • A C++ console app’s main function must now be called `wmain`, at least with the default settings. If you compile as C, then `main` is acceptable, as it damn well should be. I guess this is just the latest victim of Microsoft’s neverending crusade to break C and C++ development with their tools.
  • There’s now twice as many useless options in the C++ compiler settings dialog. Many of them don’t seem to work in the “All Configurations” view. I have no idea how you break something that (1) was apparently *completely generic* and (2) worked fine for 4 releases of your product, but they did it. Maybe it’s just what happens when you rewrite the world in WPF.
  • You can’t install much of it onto a disk other than your primary system disk. 2.2GB seems to be as small as you can make that particular impact, with about 700MB of stuff put on the disk you asked it to use.
  • There’s built-in code metrics assessment, which is available on projects on which it *doesn’t work* – like native C or C++ projects. Surely they could avoid offering the option when you’re not compiling with /CLR, rather than chugging away for a few seconds and *then* telling you you’re dumb for asking.
  • There’s a very nice UML modeller. That might be useful for architecture-types who like to draw software rather than write it, and so end up “architecting” over-complicated steaming piles of … sorry, that’s not what I’m talking about today.
  • The test tools are still slow. On one of my non-windows projects, my “test framework” is a pile of shell script that discovers the test definitions in the sources, compiles each test into an isolated executable and runs it, collecting pass/fail results. That’s pretty slow, since it involves invoking the C compiler for each test. Well, the VS testing tools are STILL SLOWER. Even on .NET code.
  • I suppose this one is my fault for installing Team System, but half the IDE seems to be architect crap. There’s half of project, most of Visio (actually, it’s better than Visio), and countless buzzword-compliant pieces of junk that I don’t care about. Maybe they’re important if you’re high on RUP or CMMI or something, but for a small team working on small hardcore software, they’re a complete waste of time. And memory.
  • In general, the IDE is sluggish. Sure, it’s pretty, but the performance makes Eclipse look great by comparison.

In summary: I’m sorry Visual Studio 2010, but it’s not working. You just don’t perform.

2009-07-27  »  admin

Talkback x 45

  1. Matthew
    27 July 2009 @ 9:03 pm

    Well looks like that’s a few hundred dollars I don’t have to spend. I’ll just use Express if I decide I need .NET 4.0.

  2. jack
    27 July 2009 @ 9:42 pm

    So your still using VC6?

    What about 2003 or 2005 or 2008?

  3. admin
    27 July 2009 @ 9:55 pm

    @jack: I use VS2008 whenever possible, although there are scenarios where it is either horrendously buggy or nonperformant. I only use VC6 for maintaining legacy code that will never compile with a post-standard C++ compiler.

  4. // popular today
    27 July 2009 @ 9:59 pm // popular today…

    story has entered the popular today section on…

  5. Carl
    27 July 2009 @ 10:00 pm

    If you’d also included links to the bug reports that you created on MS Connect then we could have voted them up.

  6. admin
    27 July 2009 @ 10:01 pm


    If Microsoft Connect actually worked for me, I sure would have. I guess I need to file a bug for that on Microsoft Connect, though.

  7. AndyN
    27 July 2009 @ 10:07 pm

    It’s beta s/w. What do you expect?
    You can’t judge it until SP1.

  8. Cluetrain
    27 July 2009 @ 10:10 pm

    How about stop developing in the Microsoft ecosystem like short-sighted fools, and code in Java?

    Google visual-vm and other awesomenesses. As well as Netbeans and Eclipse.

  9. admin
    27 July 2009 @ 10:19 pm

    Oh right, it’s much better to be in the Oracle ecosystem. And be stuck with a language that’s 100% crap, on a VM that won’t evolve because it needs to be 100% compatible with all that 100% crap, in an ecosystem that for some reason can’t grok functional programming.

    Actually, in my day job, I mostly write in C for embedded linux devices. It’s sane there. And I use GNU Emacs via SSH, because there’s no better editor available. I only miss Intellisense a little, partly because it never really worked right for C.

  10. admin
    27 July 2009 @ 10:19 pm

    @AndyN: They’re really going to fix abysmal performance for RTM? It seems to be almost “slow by design”.

  11. rz0
    27 July 2009 @ 10:42 pm

    About Intellisense in Emacs, have you tried CEDET[1]? CEDET feels quite sluggish itself (well, mainly because of the lack of proper concurrency support in Emacs) but I am wondering how it compares to nowadays Eclipse or Visual Studio. Haven’t used either for years…


  12. Thomas
    27 July 2009 @ 10:42 pm

    Working in Java is only a little less pleasurable than getting poked in the eye with a rusty screwdriver.

    C# is the first decent mainstream language for a programmer with a modicum of brains.

  13. Walter
    27 July 2009 @ 11:29 pm

    The good thing about this is that it ruthlessly exposes the weaknesses of WPF/.Net and thus forces Microsoft to do something about them. For example, they were finally forced to acknowledge that the current WPF font rendering for small fonts is simply unacceptable and will now ship a new text rendering stack with WPF 4 (not yet in Beta 1).

    The performance problems can’t be fixed that easily, of course. There are probably some performance bottlenecks and algorithms with naïve implementations they can easily get rid of, but in the end the managed implementations will always be significantly slower than their native counterparts. The fundamental reason for this is that performance never really was a primary concern during the development of .Net. Security, simplicity and convenience were primary concerns, but not performance, which always was more of an afterthought. True to the motto: “Don’t worry about performance, we still can fix it when it becomes a problem.” This shows in every aspect of .Net, whether it’s the details of the IL and CLI specifications, whether it’s the optimizations implemented by the JIT and the C# compiler or whether it’s the design of the BCL. Apparently, a whole developer organization fell victim to the “fallacy of premature optimization”:

  14. admin
    27 July 2009 @ 11:38 pm

    @Walter: I agree, producing a public performance disaster is a fantastic way for them to have to fix their platform.

    I’m not sure I agree with you on some of the rest – the GC is very good, and *carefully-written* C# code can get within a few percent of equally-carefully-written C. Of course, that’s not true of “nice looking C#” ;)

  15. Andrew, London
    28 July 2009 @ 12:03 am

    The sad thing from my point of view, is that it looks like the Visual Studio team is actually opening up a little bit in terms of feedback and involving the ‘community’ in improving Visual Studio

    I’ve read before that an awful lot of the VS codebase is quite old and not particulary good, maybe in C++ with parts in C#.

    I think MS probably just need to sink some serious resources into it – its bizarre that in 2009 that their flagship IDE can’t support unit testing/code editing and navigation with a reasonable performance.

  16. Anthony
    28 July 2009 @ 12:27 am

    It’s a Beta. B-E-T-A.
    Don’t assume that the release will be the same, rather think of your comments as feedback on the beta that might influence the release.

  17. Vanja O.
    28 July 2009 @ 12:33 am


    I just came on to point out that some VS designers have placed the VS2k10 performance loss squarely on the legacy COM stuff they have to support. I guess what I’m saying is, C/C++ devs are dragging the performance down of all the C# devs :P

    But seriously, they claimed that VS was slow because the COM to WPF bridge for the editor for legacy APIs is slow. They are rewriting the legacy systems as fast as they can :)

  18. C
    28 July 2009 @ 12:35 am

    Vim, GNU Make, Cygwin.

  19. Philo
    28 July 2009 @ 1:08 am

    “Premature optimization is the devil’s volleyball”

    Microsoft development methodology is generally that performance is done last (as opposed to being done over and over during dev.) So very often you’ll find poor performance in betas, that gets tightened up prior to RTM.

    I’m not in a position to say it *will* be fixed, but I do suggest waiting until RTM before bashing it over performance.

  20. Elvis of Dallas (dot) Com
    28 July 2009 @ 2:05 am

    Xcode is so reliable. Why are people still writing bad code for a bad platform?

  21. Pau Garcia i Quiles
    28 July 2009 @ 2:23 am

    Looks like perfect timing to start trying KDevelop :-) . It’s still unfinished but I’ve been using it for a while and works flawlessly. It’s available for Windows ( ), Mac ( ) and Linux/Unix.

    Here ( ) you can read about some very nice features available in KDevelop4

  22. You Need To Upgrade
    28 July 2009 @ 2:49 am

    Works quite fast for me and the rest of my dev team. Sounds like your still using your old VS6 machine; upgrade, most likely your problem.

    As for the rest of your pathetic complaints which don’t include “pftt my comp sux, this is teh slow” remember that VS is used by much larger groups in the industry than just “small team working on small hardcore software” whatever the hell hardcore software is anyways.

    In summary: I’m sorry Chris, but it’s not working. You just don’t perform.

  23. Scott White
    28 July 2009 @ 3:37 am

    Just when I thought Visual Studio couldn’t get any slower… it does… :(

  24. Adam Ierymenko
    28 July 2009 @ 4:42 am

    Even VS2008 is horrendously, often unusably slow. It’s slower than GCC at compilation for example, and that takes effort. Execution seems to be slower than Java. I used to think Eclipse was slow, and now it seems speedy.

    I have to second the “fallacy of premature optimization” article posted above. I almost think we need an “optimizationist” movement to counter the incorrect understanding of that quote that is so prevalent.

  25. dwdwdwd
    28 July 2009 @ 5:54 am

    Today I learned the word: BETA!

    Stupid fuck! Judge the product when it’s done.

  26. Haniff Din
    28 July 2009 @ 6:38 am

    What still using C++?? The smarter people have figured out that D-Programming and Eclipse is where the future is. Start now. Something not compiled? Python is clearly the best thing out there for that!

  27. admin
    28 July 2009 @ 7:47 am

    @You Need To Upgrade:

    Right, I need to upgrade FROM a quad-core machine with 4GB ram and a fast SSD. What exactly do you suggest is required to run this properly?

  28. admin
    28 July 2009 @ 7:48 am

    @dwdwdwd: If noone judges it while it’s in beta, what’s the point of *having* a public beta?

  29. Tom
    28 July 2009 @ 8:22 am

    I’m honestly hoping kdevelop 4 manages to hit windows at some point so I can ditch the crap pile that is visual studio. The editor is fast, the backround parser is actually in the background (unlike intellisense which locks my whole quad core machine for a few minutes…) and I really like in general, the ideas going in to it.

    Now all they need to do is fix the bugs and make it work on mac and windows so I don’t have to deal with xcode or visual studio.

    vim is my backup plan as per usual

  30. Nith
    28 July 2009 @ 9:53 am

    Claiming Chris’ complaints are invalid because it’s a BETA is misdirection. By the time MS releases so much as a CTP of one of their semi-annual packages like VS, their schedule forbids them from acting on any sort of feedback beyond fixing simple, reproducible bugs. The best we can hope for is that they’ll look into implementing fixes for his design-level complaints for VS2012.

  31. Nith
    28 July 2009 @ 3:09 pm

    @Tom: Have you tried QT Creator? I haven’t tried KDevelop *or* QT Creator in any depth, and I know it’s rude of me to instantly think of QT’s IDE as analogous to KDE’s, but from blog posts it looks like it’s developing quickly, and screenshots of it look like it’s pretty lean and polished. Plus it is multi-platform. Anyway, I was just curious to see what you thought of it, especially in comparison to KDevelop.

  32. Sudarsan Srinivasan
    28 July 2009 @ 4:33 pm

    Ok, you have tested the IDE with most of the c++ features, what about c# and other stuffs ?? You should try those thing too and then come up with your feedback.

  33. Ryan
    29 July 2009 @ 5:31 pm

    You should check Delphi/C++ builder out. No, seriously.

  34. Preston
    30 July 2009 @ 4:00 pm

    “C# is the first decent mainstream language for a programmer with a modicum of brains.”


  35. bonch
    30 July 2009 @ 4:03 pm

    “C# is the first decent mainstream language for a programmer with a modicum of brains.”


    C# (and .NET as a whole) is a joke.

  36. Brian LeBaron
    31 July 2009 @ 2:25 am

    Why don’t you say crap a few more times? Maybe you’ll get some more readers.

  37. Fail
    17 February 2010 @ 11:22 am

    This post is just fail.. Just a angry man here, nothing else. move along.

    VS 2010 is beyond faster than any of it’s predecessors, I know, I’ve been using every version since 6 in day to day life. I’m now on the RC and have been using that for a couple weeks now. BLAZING FAST.

    This is just some pent up hatred or something.

  38. gixxer
    7 May 2010 @ 5:19 am

    OK, I have had VS2010 for about two weeks now and have written one application in it. I have to agree with the author about this. Although I am a VB head (from the CoBOL days) plain and simple; this version is damn slow. Not only is the ide slow but it seems to slow every other process on my computer as well. I installed the Ultimate version and it does have a lot of extra crap that will never be used. I wish they would just concentrate on making the IDE more WYSIWYG for web and make the debugging fast again (like VS6). VS2010 has a long way to go until it even catches up to VS2008.

  39. Visual Studio 2010 « Narzędzia « Pure Development Blog
    16 May 2010 @ 8:04 am

    [...] Artykuł o VS2010, w którym autor bardziej się skupia na obsłudze C++ w najnowszej wersji błędy, Expression, extension manager, IDE, Notepad++, nowości, Office, premiera, Programming, programowanie, sharepoint 2010, theme, Visual Studio, Visual Studio 2010, vs, vs 2010, vs2010, workflow, workflow foundation, WPF, WSS [...]

  40. Dave
    26 June 2010 @ 10:14 am

    I’m totally agreeing with this article, its not like the @fail guy says “just an angry person where”

    vs2010 is final now and I’ve been using it for a few projects. I do new projects in the good old fast vs2008…

    vs2010 has potential but if they’re not releasing a sp1 soon its just doomed to fail.

    Eclipse all of a sudden looks nice in comparison indeed!

    on a side note, on the microsoft forums there are tons of topics about this and it looks like microsoft is nicely ignoring the problem.

  41. Bob Dobbs
    30 July 2010 @ 7:02 am

    You’re wrong. The new intellisense is god.

  42. admin
    30 July 2010 @ 8:24 am

    Sure, it’s pretty good in RTM – except that it doesnt work *at all* for C++/CLI, which is a fairly large oversight.

  43. Steve S
    15 October 2010 @ 1:02 am

    Having paid for and tried visual studio 10 for the past week its now in the bin and we’re rolling back to 2008!

    We were hoping to have a gradually company roll out but the usual lack of backward compatibility means 2010 tries to force you to modify all project files.

    Worse still the IDE is now hanging completely every time a website is compiled. After spending all morning trawling forums for solutions and with customers waiting for bug fix releases we have have got time to fix 2010′s ‘idiosyncrasies’. How difficult can it be to just support projects/solutions developed using previous versions?!

  44. Why is Visual Studio 2010 slower than Visual Studio 2008 Drija
    13 November 2010 @ 4:22 am

    [...] Why is Visual Studio 2010 slower than Visual Studio 2008? One explanation [...]

  45. Roy
    5 January 2011 @ 10:52 am

    i have been using VS 2010 and visual studio team system source control.

    first of all, the coloring of the product is painful to look at.

    compared to VS 2008 (which behaved similar to 2005 and possibly even the 2 couple of version before that), 2010 is just different and annoying to get used to all the little quirks. i get kind of tired of constantly having to re-adapt and ramp up on figuring out little new idiosyncrasies of new IDEs.

    and compared to using subversion (ankh plugin for visual studio 2008), visual studio team system source control is a turtle.

    i was totally likeing visual studio 2008 with subversion source cotnrol better than 2010 with team system. i wish i could go back. just looking at the ugly purple and blue color is irritating.


Share your thoughts

Re: Visual Studio 2010 – 10 is the new 6, but not the way they wanted

Tags you can use (optional):
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>