Unfortunately, all of that ended with the release of Visual Studio .Net 2002. This was the first release which introduced support for the .Net Framework in the IDE. Don’t get me wrong. I still regard the .Net Framework as one of Microsoft’s better products, but this post is about Visual Studio and the impact the framework plus other contributing factors had on the quality of IDE. Visual Studio .Net 2002 took approximately two hours to install on my relatively powerful workstation. After that, when I was allowed to launch the IDE, the greatly increased startup time was immediately noticeable. But hey that’s the price you got to pay for all those shiny new features right?
During the following months it turned out that studio had not only gotten much slower but also much less stable – especially when working with .Net applications. The debugger was freezing on me so often that I became afraid of using it at all. The same applied to the Winforms GUI Builder which just did not seem to be stable enough for complex projects. At the time when the successor product Visual Studio 2003 was released, I got more and more into ASP.Net web development and this is where things got nasty.
Open source and commercial Java IDE’s like Eclipse and IntelliJ have caught up with Studio a long time ago, but unlike Visual Studio, they kept pushing forward with excellent productivity and refactoring features while Microsoft in turn introduced feature after feature which no experienced developer really cares about (new Ctrl+Tab feature in Visual Studio 2008 anyone?), consuming even more resources for eye candy and useless stuff.
The project I am currently involved in is a large scale ASP.Net based CRM Web Application consisting of a couple thousand C# source files and approximately 400 ASPX pages with associated ASCX web controls. Just opening the solution takes 2 minutes and a 3 GHz workstation. Opening the first Web Control takes another 2 minutes, changing anything inside the file incurs another 1 minute penalty. Why? I have NO idea. I suspect that there’s a ton of costly object marshalling between the managed and non-managed parts of the IDE going on under the hood, combined with a healthy amount of various workarounds and hacks to ensure compatibility with stuff that should have been abandoned a long time ago.
Sure, I could de-install Resharper and by doing that cut the waiting time in half, but let’s face it: Resharper is currently the only serious option to turn Visual Studio into something that remotely resembles a modern IDE after you’ve used one of the aforementioned Java IDEs. Unfortunately, Resharper comes with a double price tag: first it’s quite expensive for an addon (you almost get a license for IntellJ for the same money) and it makes Visual Studio even slower and more prone to crashes.
Out of desperation I recently tried out SharpDevelop – the Open Source Development Environment for .NET. It opened our solution in under ten seconds. Bummer! If I was Microsoft’s Developer Products manager I’d pay the SharpDevelop team a visit with a suitcase full of cash, lock them up in a room with unlimited resources let them take over the development. But that will probably never happen because Microsoft has lost its focus on all fronts including the developers. And realizing this has converted another Microsoft Developer into a Java and Rails Developer.





Leave a Reply