Visual HStudio 2005 Team System vs JetBrain dotNet IDE

time to read 5 min | 970 words

The issue has been debated by people far more experienced than I am (see here, here, here and here for good arguments both pro and against).

My own thoughts? JetBrains (the creators of ReSharper, which I've been poetic about before :-D) intend (bottom of the page) to create an IDE for .Net, and that most probably mean that I will be leaving VS.Net behind. I've spoken before about moving to VS 2005, but as long as that means leaving ReSharper behind, that ain't gonna happen. I'd recently had been forced to work on VC# Express 2005, which doesn't have ReSharper, but has refactoring tools that does much the same. The experience has been so far beneath what I can do today with VS 2003 + ReShaprer that I came to a near complete halt. (Somewhat aided by some bugs in VC# Express, but that wasn't the main thing.) The amount of manual work that I had to do which ReSharper handled for me was astounding. About the only thing that ReSharper can't do is to reference a dll.

What do you mean I've to compile to see the errors1? And the refactoring support that ReSharper has is far more mature than what VC# Express Beta 1 shows. And code browsing, and variable name suggestions, etc. All of those makes working with VS.Net 2003 a pleasure, and working with VS.Net 2005 a chore.

How does this relate to Team System? Well, Frans was the first to catch on, but when JetBrains release their IDE, it's going to have:

  • Support for Subversion as a Source Control Management System is already promised,
  • Support for unit testing via NUnit (with options to add others, so I can still use MbUnit :-D).
  • Support refactoring all the way to the source control (which mean that I no longer have to remember to svn move files when I rename them.
  • An API to add new languages - So I can get Boo, and maybe even get some JetBrain Magic SauceTM to go along with it.
  • Will use build.xml files as it's native solution/project format - replacing the need of NAnt and still allowing all the goodies.
  • Probably allow me to target different versions of the CLR.

With all of those features, I can't really see much attraction for VS Team System for the ISV or consultant. The only thing that is missing there is a bug tracking that is built in the IDE, and that can be solved as a plug-in or enhancement.

Assuming that the price tag would be similar to IntelliJ IDEA, that would be 499$, compare that to the multi thousands of dollars that you would get the same functionality from VS Team System. On the other hand, VS usually ship with a multitude of helper wizards that make common tasks much easier (database work is one such example). Personally, I don't use this functionality in VS, and don't ever intend to. That is a personal opinion of mine and probably many other developers disagree.

I intended to register to the Empower program, based on Joel's advise, which meant that I could quite a heck of a deal on this. I'll still probably go this route, to save money for the OS and servers. But I'm considering more and more to avoid all this complications and use an IDE that is willing to help me be lazy, and the tools that I'm already familiar with and use daily. And if I get the same tool set that I can get today, with a tighter integration, than it's really no brainer.

Alex Lowe seems to think that most developers don't know JetBrain. He is probably right, but they would search for alternatives when they would find out that they need to pay so much more for everything that Microsoft sell2. And the other ISVs that are familiar with this would make sure that they do know about it. The blogging community isn't that big, if you compare it to the size of the developers community, but they are well connected, usually.

I can't conceive developers moving from tried-and-true tools that they know and love (price tag: $0, limitations: none, source-code: included) to a far more complex beast that may or may not be available in version 2. And I think that this would be a big lose for Microsoft. This is not meant to convince Microsoft to change it's opinion, by the way. As a matter of fact, I don't care much personally. I don't foresee a change in circumstances that make me want to use Team System features.  They want to target the Enterprise market, but they are very weak in this regard right now. And I think that a company with thousands of developers (just the kind that Microsoft is targeting) would want to use something that come from Microsoft and holds their entire future in its innards. Not without solid proof and developers clamouring to get it.. And I can't see people getting excited about it when the price is so high that they can't use it at home or for their own projects.

1Yes VB-ers, you can laugh now, you'd it circa 1995 or so, I know.

2As a matter of fact, I agree with Erik here, most people buy MSDN Universal to get exactly that feeling.