Scott Allen posted his experiences with VS 2005 and I thought I’d do the same.

I’ve been using it in production on a mission critical project since the day RTM was available on MSDN.  Let that sink in for you.  Maybe that kind of bravado is what brought me to having a nervous breakdown!  But Sahil insisted that it was the right thing to do, and since in October I wasn’t more than a few hundred lines of 100% convertible framework code into this project…I said “fuck it, let’s go.”.  Hey, Ho, 2.0.

First and foremost, 2.0 dropped weeks of work off the project.  Like, right off the bat.  And I still find little things here and there that are real timesavers.  Generics were huge.  List<T> replaces hundreds of custom collection classes.  How amazing is that?  One data structure replacing hundreds of classes.  There’s other little things too, I won’t go into them all, but ClickOnce deployment is huge when developing winforms apps, some of the new databinding features again making it a breeze to work with winforms, and even partial classes, which I totally didn’t get before, are helping.

The IDE is great.  Performance can be an issue.  Startup is kind of slow, but I think a lot of that is integration with Team System and what I think is some non-optimized server seeking.  But I won’t deny that VS2005 is a bit of a resource hog.  My solution…upped the laptop to 2gb RAM.  Performs a lot better now.  The performance tradeoff is a small one to take for what you get though, in addition to 2.0 features, the IDE is way better.  Refactoring support, improved IntelliSense, improved a lot of things really.

A few of the lesser-mentioned features that I really like in VS2005:

  • if you automatically wire up an event through the designer (ever accidentally double-click a label and wire up a label_click event?  Happened to me), and subsequently delete the method in code, the wireup code in InitializeComponent() will go away too, automagically.  In VS.Net you’d probably end up with a build error and have to go remove the event wireup code from the InitializeComponent() method. 
  • using resources – in VS.Net you had to reflect the assembly and get the resources you wanted (like an Icon or a String or whatever).  Now the resources are available easily through intellisense, and in picklists on property panes.  Brilliant.  It also seems to be much easier to add and manage compiled resources.  IMO anyway.
  • Alignment helpers on the WinForms designer.  Awesome.  One of the more tedious parts of UI for me before was precisely lining up controls.  It practically does it for you now.

As far as usability and stability, I have been using it all day every day at work on real projects for 3 months, and so has my team.  No issues.  Everyone loves it.  I couldn’t be happier with VS2005.

Team System…Well, I’m using Beta 3.  And it’s doing really well for a beta.  Work Items are great in concept and utility, but a bit of a pain to manage.  I love that bug tracking works right into the same place as tasks though, so my developers can see a consolidated view of what they have to do and not go to the project file for work items, and the bug tracker system for their bugs, and the documentation file for documents (love how project document storage works in Team System).  And the source control is miles beyond Source Safe, which is reason enough to use Team System even if you aren’t going to use the other team workflow type stuff.

There are some issues, and I think that’s a beta thing.  Sometimes you don’t really “Get Latest” when you want to, and sometimes you don’t really “Check In” when you say you did.  Also, performance is kinda crap on the team system stuff, but I’m hoping they optimize.  Another thing I don’t like about VSTS is that once it’s integrated with VS2005 it’s always there, and it always assumes you want to do “team” stuff.  So even if I’m at home and want to fire up a quickie To-Do List app you have to let it try to find the team server and go through its team crap.  That’s dumb.  IMO it shouldn’t try to connect to Team Server unless you open or create a team project, or explicitly ask it to.  But, small price to pay, again, for the benefits I’m getting out of a product that is still in Beta.

So, all in all, 3 months of VS2005 down, and many more happy ones to go.  Sorry for those who have had issues with it, becasue I haven’t.  Maybe I’m just not an edge-case kind of guy, and not pushing it too hard, but I’m doing what I need with it to get my job done, and my team is using it, and therefore, to me, VS2005 is a huge success!  Kudos msft.


Tags: