What is the ideal desktop computer for productive software development?
I've been trying to do my due diligence, but admittedly it is hard to separate out what matters most. I would like to know the points of diminishing returns where there is little additional value from more expensive options - like "only get super-deluxe graphics card if you are a serious gamer, as somewhat-deluxe model will be fine for what you do."
I would appreciate specifics even - like "brand X, model Y, and graphics card Z." I am not feeling up to building my own these days.
I also specify "desktop" since I assume a better bang for the buck. I have a dev laptop I am okay with for going on the road, but here looking for a bad-ass system that doesn't need to be mobile.
REQUIREMENTS
For a taste of what it would need to support:
- Visual Studio 2010 (sometimes multiple instances)
- Azure fabric (includes local IIS 7 instance)
- Virtual Machines of other tools and software... (wide open)
- SQL Server [Express, Management Studio]
- Web browsers (IE, FF, Chrome - usually multiple at once, millions of tabs, including launches from Visual Studio, loading Silverlight runtime often)
- Microsoft Office
- iTunes (yeah, I know, but it needs to live somewhere, and much of it relates to development anyway, like curating Podcast Mashups)
I would expect a new computer to have Windows 7 (there are offers for free upgrades on machines purchased before the Win 7 official launch on Oct 7 - so you get Vista for a short time, then an upgrade).
VIDEO
For my productivity, I would want support for multiple monitors (ScottGu talks about the great multi-monitor support in Visual Studio 2010, so I do want to leverage that, plus more generally).
Another SO thread on # of monitors seems to recommend 3 monitors - do you agree? If I get 3, do I need one graphics card per monitor?
What graphics card would I need to support sufficient resolution? (And is it safe to assume any graphics card will sufficiently support Hardware Acceleration, as WPF or Silverlight may attempt to leverage?)
STORAGE
How many hard disk(s)? (10k boot + 7200 data like Jeff suggests?)
Is there anything in the hardware needed to improve support for Boot to VHD?
Is there anything in the hardware that will impact performance of Virtual Machine images I may run (e.g., Virtual PC images). These always seem to crawl.
PROCESSOR AND RAM
I assume a 64-bit architecture.
How much RAM? Anything special about it?
Which processor?
RELATED QUESTIONS
There is a related SO question (Ideal Computer for Software Development, from Aug 2008, though will some still relevant info), but since it is more than a year old, an update is in order. Here is another, more monitor-focused post, from Dec 2008.
All input appreciated.