CodeBetter.Com
CodeBetter.Com
RSS 2.0 via Feedburner
           Do you Twitter? Follow us @CodeBetter

Brendan Tompkins [MVP]

Blog First. Ask Questions Later.

Visual Studio 2005... Uggh.

I don’t usually Rant, but this post has been welling up inside of me for a number of months now, and today it just had to come out.   I’m sitting here very disappointed with the current state of things in the .NET world, particularly in relation to Visual Studio 2005. Now, I have all kinds of thoughts relating to this and how we’ve made things too complex in the .NET software development world, and in the world of computing in general, and how we’ve forgotten about ease of use, and why other technologies such as Ruby on Rails that embrace simplicity are going to be chosen in the long run if we don’t do something about all this, but this is just a rant about Visual Studio.

Understand that I’m using VS 2005 pretty much out of the box, and there may be ways to hack and configure all this stuff so that it suits my needs.  Also understand that I realize that scores of people have put lots of time into this tool, and that there are many good things about it, but overall  I’m finding that my life as a software developer has become much more difficult since the advent of VS 2005.  Here’s a few reasons why: 

1) They've messed up the support for Typed Datasets.  First of all, the DataTable adapter seems pretty unless for any real CRUD operations.  It works okay for filling a dataset, but I couldn’t figure out how to get it to update properly a DataSet with related tables, making it for me fairly unless.  Now every time I create a Typed Dataset, there’s a bunch of stuff I have to rip out.. Ugh.

And haven’t they broken some pretty serious design rules by coupling a DTO like a dataset to the CRUD operations anyhow?  I think this is really where the “RAD KILLS” message from some of our bloggers hits close to home.  VS is basically BY DEFAULT trying to get me to create crappy, hard to maintain code, tightly coupled code. 

2) It’s so slooooww.   As others have pointed out, some of the refactoring support is so slow that it’s almost unusable. But even when tabbing between code files, there’s a noticeable pause while VS thinks about switching to your new file.  This can really slow you down when you’re paging between lots of code files, which you have to do to work with a good layered application.  <sarc>Perhaps this wasn’t a big issue for MS, considering your entire application should be developed in one big RAD file.</sarc>

3) It’s hard to find code files I’m working on.  As I work, I have a terrible time finding files I have open.  I used to just tab over until I found my file.  Now, once you reach a certain # of open tabs, they get pushed off of the tabs into the drop-down list.. I can’t tell you how many times I loose track of a file during the day and have to hunt for it.  Again, since you’re supposed to do all your work in one big file, I guess this wasn’t supposed to ever be an issue.  How many RAD files would someone ever have open anyhow, 2?  3 at the most?

4) They’ve removed support for SQL 2000 Database Diagrams.  It’s there for SQL 2005, but for SQL 2000 Databases, it’s just gone!  Hey, um.. This was a feature I used, like, um A LOT! And uh, SQL Server 2005 is like NEW, and my company probably won’t be migrating for a while.

So, the other day, I fired up VS 2003 because I had to do some db diagramming (see complaint #4 above).   As the trusty app launched I was filled with sadness that it’s gone. ReSharper popped up, and I smiled remembering the days where I could quickly re-factor, navigate to related code files, clean up code, create unit tests, and fire them off in NUnit with ease.  This feeling quickly passed, and today I’m back to VS 2005, forcing myself to use the complex built in unit testing tool, stripping crappy autogen code, waiting for files to load, and wishing ReSharper  would swoop in to save the day….

Uggh. 

Technorati Tags: , ,



Comments

Brendan Tompkins said:

Hey Charles! Thanks for your smypathy... :) I was quite sure the first comment I'd get would be "Come on, you whiny ms-bashing good for nothing blogger... YOU try to make somthing like VS 2005" :)
# March 10, 2006 11:16 AM

John said:

I used to get by with 1/2 a gig of memory, but VS 2005 forced me to upgrade to 1 gig. Not an expensive upgrade, but it did made a lot of difference in speed/responsiveness.
# March 10, 2006 11:19 AM

Brendan Tompkins said:

John,

I'm sure it does help... Since I do some 3D studio work, I've got this honking machine - dual 64 bit with 2 gigs of ram... And it's still slow!
# March 10, 2006 11:30 AM

Bjørn Reppen said:

I have to agree... Visual Studio is turning into a beast of an application. The IDE has also gotten a few new annoyances, and builds seems to take much longer than before. (I think I'll have to benchmark this)
# March 10, 2006 11:55 AM

Kevin Blakeley said:

Have you seen the blogs about being able to provide feedback to future versions of VS?

http://blogs.msdn.com/robcaron/archive/2006/03/07/545818.aspx

I sent an email into the address stated in the blog and got a response from the guy. Sounds a lot different than programs in the past and he wants to call me to chat with me first, and then the process should begin in a few weeks.

May be worth a shot.
# March 10, 2006 11:59 AM

I Love JetBrains said:

Don't worry, you won't have to suffer long. ReSharper will be out by the end of March. Install that and VS2005 is at least playing in the same ballpark as Java IDEs, but still much less productive, far more expensive and very slow. Still, nobody chooses Microsoft for quality!
# March 10, 2006 12:02 PM

Brendan Tompkins said:

Kevin,

This is good to know, let me know how this turns out for you.

I Love JetBrains.. Great! I cannot wait...
# March 10, 2006 12:07 PM

Steven Cummings said:

I found the new typed DataSets to be a little wierd too when I first approached them, but I believe you can do just about anything you need with the TableAdapters, including non-basic stuff beyond CRUD. This link shows a lot about it:

http://weblogs.asp.net/scottgu/archive/2006/01/15/435498.aspx
# March 10, 2006 12:12 PM

anon said:

Was there an official statement from MS as to why they pulled DB diagrams for SQL 2k in VS2k5? I thought I was crazy for while trying to figure out why I couldn't connect to a SQL 2k server only to finally realize that the functionality is not in VS2k5. WHY?
# March 10, 2006 12:14 PM

Brendan Tompkins said:

Anon,

I did find this, and although it's Sql server management studio specific, I think its the same issue (possibly even the same code?)

http://msdn2.microsoft.com/en-us/library(d=robot)/ms186552.aspx
# March 10, 2006 12:19 PM

Jeffrey Palermo said:

I'm using Resharper build 221 with VS 2005 right now, and it's working ok. It does slow doen the GUI a bit, but I find the trade-off good. I prefer working with build 221 over working with stock VS 2005.
# March 10, 2006 1:04 PM

Eric Wise said:

I'm running on an athlon 64 X2 with 2GB ram and I don't have any speed problems with VS 2005.

I don't use typed datasets, only business objects so I can't really comment on that but I think the improvements in ASP .NET 2.0 far outweigh any minor annoyances like the tab situation.

XHTML compliance checking, objectDataSource (no matter what sahil says), master pages, generics...
# March 11, 2006 11:44 AM

Brendan Tompkins said:

"XHTML compliance checking, objectDataSource (no matter what sahil says), master pages, generics..."

I'll give you the XHTML compliance, which is part of VS, but the other things you list don't have anything to do with VS..

I'm not talking about ASP.NET 2 or C# 2005 or the framework 2.0, which I LOVE.
# March 11, 2006 12:18 PM

Bob Gregory said:

I found 2003 slow on my ancient creaking box, and 2005 really is unusably slow. Personally I dropped the whole lot and started using UltraEdit, a couple of batch files, NUnit and NAnt.

I really miss some of the refactoring tools that I got used to in the Express release (is it just me or was the beta Express version lightning fast by comparison?) but all the "productivity-tools" that have been added have slowed the app to the point where it's no longer productive.

Likewise Sql Server Management Studio - and has any else found that some Sql 2K functions just refuse to be opened by SSMS? I gave up on that as well, I loved having all my functionality in one place, and I preferred it as a code editor, but Query Analyser is fast and reliable enough to be more productive overall. And I cried when I couldn't find my schema diagrams.

Oh, and even get me started on VSS - Subversion makes me happy.
# March 11, 2006 4:45 PM

Aaron Jensen said:

ReSharper 2.0 (still in beta/pre-release) works with Visual Studio 2005. Although it still has its issues, it works well enough to not be in the way. You can download the current beta here: http://www.jetbrains.net/confluence/display/ReSharper/Download
. I simply can't develop without ReSharper.
# March 13, 2006 10:48 AM

Chris said:

For some real nostalgia, try firing up the VB6 IDE. It's probably just my hardware but compared to VS 2003/5, it runs like a dream! Almost (but not nearly quite) makes me wanna go back.
# March 13, 2006 3:56 PM

Michael Carr said:

What I can't figure out is why my hard drive starts thrashing about like a madman whenever I compile a website, which, by the way, takes forever compared to VS 2003. Hmmm... I wonder if somebody at MS were to reduce the amount of hard drive thrashing would the associated build time be reduced dramatically? Hmmmmmm..... :)

Ah well, I only have 2.5 GB of RAM and my memory settings on "Optimized for System Cache" ...
# March 13, 2006 5:04 PM

Davy Landman said:

I also had the problems with VS being slow.

But after some googling i found the following:
Check the MRU for items on network places.. every save/backup VS2k5 checks all these files.
It can be found here:
HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\8.0\ProjectMRUList\
Also try disabeling the navigation bar (the bar above the source code which helps you jump to another class etc)

during my own research (gotta love FileMon), I discovered VS indeed rechecking the files in the MRU list, and there after doing the following:
- Save a backup of the current file
- Save a backup of the new file (twice)
- Overwrite the old file
- Create a copy of both files in the history folder

an each "Storing Recovery Information" it also checks a few folders and save a few filles ...

It gets even worse when your running a virus scanner like Kaspersky or Norton.
VS had some problems with the applications, because Kaspersky saves a checksum in a substream of the file (can be turned off).
VS detects Kaspersky, and manualy checks for the substream, even if you have the "iStreams Technology" disabled.

Therefor I suggest the following:
1. Don't work on the project on the same physical drive as the VS/Windows instalation drive <--Very big difference
2. Don't work on network drives.
3. Exclude the VS2005 instalation folder and the backup folder in your virus application) (only real time scanning offcourse)
4. save the project on a good defragmented drive and if possible fast seeking times.. because you will feel the pain.

Good luck.
# March 14, 2006 10:10 AM

Old Guy said:

If you think that using VS2005 is difficult, try uninstalling it. The simple easy way (using Control Panel) will not get you any further than a terse message about "Unable to determine load order" and will then shut down. Following the manual uninstall instructions on Microsoft.com (really complicated when you see them!) will result in only a partial uninstall, and the resultant mess will insist on trying to re-install/fix it self every time you boot up from then on.

Brute force was the only workable alternative, and wow does my machine boot faster and run better (more stable) since I got rid of .NET 2!! Of course, the fact that there was over 10,000 registry entries removed had a lot to do with it...
# March 15, 2006 10:41 AM

Cris said:

For item (3), they made CTRL-TAB function like the ALT-TAB program switcher. Not much to compensate for the other items though...
# March 18, 2006 9:42 AM

Eric said:

I also think 2005 is a dog and certainly riddled with some really odd bugs in the designer.

We are using 2005 for a couple of new sites underway strictly for the master page and themes features.

All of the data access stuff is really hosed up.  Struggled for a full day trying to get sqldatasource to work with transactions before giving up and reverting back to good ol' sqlconnection, sqlcommand, etc.  Like the GridView, DataList, FormView, etc. - hate the Dataset and table adapter interface.

ConnectionStrings section in app.config sounds like a cool idea - but we use "file=" settings to override for staged environments.  ConnectionSTrings block doesn't support this - why not??????

Navigation stuff looked cool in the demos and certainly made it easy to build some menu stuff, but what they didn't demo was things like: sitemap nodes dont have a target attribute and other seemingly obvious attributes.  Ended up writing custom providers to parse custom attributes, etc.  Breadcrumb control doesn't handle html encoding (needed my breadcrumb to handle superscripted ® character but had to write custom code to do it). Sitemap uses an odd schema so some entity references dont work.

Web builds - why do I need to download beta projects (for web project and web deployment projects) when the options they offer should just plain be part of my publish interface.  AND STOP MAKING ME CHECK MY SOURCE INTO Myproject_1  !!!!!!!  (sorry about the yelling).  I shouldn't have to jump through hoops to structure my source code the way I want in my small shop with only 4 developers.

I've worked for 3 software companies and now I'm in the "private" sector - I always find that MS seems to think that all development is done by software companies.  That model simply doesn't always work for other companies.

Will still keep using it because it has some things we really need, but hope desparately that some of this will be addressed.

# March 23, 2006 8:03 PM

Warnar Boekkooi said:

Well i have to agree on the first and third part of the complaints never had problems with speed tho but that maybe because i have a Xeon 3.0ghx * 2 and 2gb ram and a sata raid drive.

But the new Datasets are really a mess, i just coun't figure them out for a while still think i could be more transparent.
Also with the databinding of a dataset to a datagridview there is a bug(easely fixed tho just remove the datasources from properties but still).

Furthere more i can say that finding files i really easy just close everything and use the solution explorer maybe a problem if you have about 15 project tho.

Last thing to say before i'm gone sleep is Good Blog!
# April 5, 2006 6:32 PM

James Wilson said:

@Werner: I regularly do Window -> Close All Documents just because its such a mess finding the file you want.

Also, I'm not sure what setup you have, because on my box (identical setup to yours, except I have one SATA drive), it freakin' crawls. We have a medium sized 6 project web application, and it takes *minutes* to compile.

The class library /web reference projects are compiled in like 10 seconds, the remainder is the ASP.NET project. Yes, I know there's the add-on that makes web apps into projects, but that should have shipped by default.
# April 8, 2006 3:11 AM

Peter's Gekko said:

The term RAD is more or less a hot topic on Codebetter. It started with a &quot;RAD kills&quot; post by Jeffrey...
# April 25, 2006 4:04 AM

Tagroom??? Blog said:

# April 26, 2006 2:37 AM

John said:

I'm moving from classic ASP to ASP.NET via Visual Studio 2005.  I'm saving my projects onto a network drive and Visual Studio takes anywhere from 10 seconds to 2 1/2 mintues (yup, 2 minutes 30 seconds) save save the project at which point it locks up my whole PC (2.8 Ghz with 1 Gig of RAM).  It's next to unusable.  I've tried clearing the MRU registry setting and it hasn't helped.  At this point, I'm going to be coding everything with EditPlus which is a glorified text editor.  I like the VS editor but I can't wait two minutes with every save.  
# June 2, 2006 5:39 PM

Scott said:

2003 is working fine for me. I have 2005 in the box but am reluctant to unleash it on my pc. Think I'll stick it on Ebay after what I have read ;)
# June 17, 2006 6:29 PM

Peter H said:

I wish I was in Scotts position.  If I knew what I was in for with 2005 I would have left it in the box.   I don't have the time it takes to get a recompile in to 2005 working.   The Tabs are also an absolutely unnecessary change.  I am very reluctant to recompile anything new into 2005 unless it is absolutely necessary.      i also agree about the speed.   I have become less productive.
# June 18, 2006 12:52 AM

Brendan Tompkins said:

James Avery talks about Pete Wright leaving Microsoft &quot;I have a ton of respect for Pete and look

# September 15, 2006 9:16 AM

foobar said:

I've never met an IDE I didn't hate.  And as far as that goes, VS2005 is way down on my hate meter.  You haven't experienced true IDE crappiness until you've used Dreamweaver.

The thing I hate most about VS2005?  It costs money.

I'm not sure using RoR is suddenly going to lead anyone into the land of IDE nirvana.  I long ago went past the point where using Notepad (or some other lightweight IDE) was acceptable.

Fact is, the IDE needs to be there.  It needs to hold your hand, because most developers aren't proficient enough to remember all 30,000 methods in the .NET framework along with how to spell them.  And it's a decent productivity boost (yes, even with all the associated slowness) for, say, junior devs.

Oh well.  I could go on and on.

And just why are you using Typed Datasets.  If you think VS2005 is a bad idea, Datasets and Typed Datasets are absolutely the worst things that MS added to .NET

# September 24, 2006 2:17 AM

Brendan said:

foobar.. I'd agree with most of your points.  I'm really comparing VS 2003 with VS 2005.. 2003 was a great dev experience.  Expecially when using resharper + or coderush.. It was a good ide.  

I've recently found some good ways to speed up VS, see devlicio.us for more information on that.

As for typed datasets, I agree that typed datasets can be the spawn of satan... and aren't appropriate at some levels of your app, but when confined to a data tier, I don't think they're all that bad.

# September 24, 2006 10:09 AM

Anthony Black said:

Yes there does seem to be some complications with VS 2005 as opposed to 2003. I'm having trouble with Atlas and dropdownlist. Any else experiencing similar problems give an email at anthony.black@comtec-europe.co.uk. I would like to know if anyone else has problems with dropdownlist not populating when all the code seems to be working.

# July 6, 2007 5:49 AM

Phil Smith said:

Hi,

 Well I'm glad that I'm not the only one experiencing frustration with the VS2005 IDE.  I'm new to it and find it too confusing, busy, slow and prone to shutting down with out notice (ie. flaky as hell).  I've been developing on all manner of platforms for over 20 years now.  I started Windows development in the early 90s with Delphi v 3.0.  I still have that original copy of Delphi - have written millions of lines of code with it - it's IDE is a shining example of 'simplicity in action' - must have been written by a developer who has to make a living at witing code!  Have never patched it since original installation and can't remember it ever crashing!!    The VS2005 IDE seems to really just attempt to provide all the same functionality, but must have been designed by a committee!

# January 14, 2008 12:06 PM

Leave a Comment

(required)  
(optional)
(required)  

Enter the numbers above:
Add

About Brendan Tompkins

Brendan has been programming with .NET since the first public beta and is owner and operator of Port Technology Services, a consultancy company providing .NET application development services to the Maritime industry. In July, 2007, he was awarded the Microsoft MVP award for ASP.NET. He's also a proud co-founder of failed .COM startup Intrinsigo, and has had a hand in the failure of numerous other businesses. He currently runs CodeBetter.Com and Devlicio.us, and lives in Norfolk, Virgina with his wife Tiara and son Ian.

View Brendan's profile on LinkedIn

Check out Devlicio.us!