Tell me more ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

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:

  1. Visual Studio 2010 (sometimes multiple instances)
  2. Azure fabric (includes local IIS 7 instance)
  3. Virtual Machines of other tools and software... (wide open)
  4. SQL Server [Express, Management Studio]
  5. Web browsers (IE, FF, Chrome - usually multiple at once, millions of tabs, including launches from Visual Studio, loading Silverlight runtime often)
  6. Microsoft Office
  7. 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.

share|improve this question
Ideal desktop computer for productive software development: not suitable for computer games and social sites. – erenon Sep 2 '09 at 22:04
@erenon: Heh, it would have to be pretty crippled to be not suitable for social sites :-D – user4954 Sep 2 '09 at 22:14
love those questions, who you're gonna blame if the computer doesn't match your requirements? :) to be on the safe side i'll recommend a Core i7-965 Extreme, 16 GB DDR3 RAM, Intel X25-M SSD, a GeForce GTX 280, did i forget domething? – Molly7244 Sep 2 '09 at 23:44

migrated from stackoverflow.com Sep 2 '09 at 23:02

5 Answers

I haven't the time to go into detail, but you should at least make sure you have

  • a multicore (quadcore) processor
  • lots of RAM (at least 4 GB, consider 8 GB)
  • serial ATA (SATA) disks
  • support for RAID. Preferably RAID 5. This will give you both performance and redundancy. You'll have to get three identical disks.

Any modern graphics card will support at least two monitors. And avoid solutions integrated on the motherboard (if those are still around). Make sure the card (and monitors) has DVI (digital video) - the picture quality is considerably better!

Also, I suggest you wait a bit and get Windows 7 from the get-go.

Good luck.

share|improve this answer

We have dual-core machines. I don't currently see a lot of advantage in going quad, though this may change with time. I'd go for a 64 bit OS, just to get the support for a larger address space. As much RAM as you can cram in, especially if you're going to be working with C++... all those oodles of included header files means the compiler needs all the room to breathe it can get. I certainly wouldn't go below 4G, and 8G would be better. Using super-fast RAM doesn't gain you much - Tom's Hardware had an article on this sometime ago, if memory serves (pardon the pun).

But most important of all is screen space. We all run multiple monitors at work, and I run three at work and three at home. You don't need to splurge to get this capability - even the low end NVidia quadras can cope with four screens, and all those four have a DVI connector. Those DVIs are important: once you get to 1600x1200 screens, the limited bandwidth of a VGA connection really starts to show. And you are going to need those larger screens, because Visual Studio eats pixels.

You won't be playing games with this kind of adapter, but having all those pixels really helps, especially if you intend to run multiple IDEs. I commonly run VS2008, VC6 and Delphi at the same time.

I don't have any experience with SSDs, so can't comment on them. Suffice to say that I've never sat in front of my dev machine and thought "I wish this had a faster hard drive". However, I've lost count of how many times I thought "I wish I had a second monitor" or "I wish I had more RAM".

share|improve this answer

I asked the same question of a compiler guru once. Here's roughly the response I got.

The most important thing is to get lots of RAM. For a 64-bit machine, I'd probably look at at least 8Gig. You want the entire compiler, program, source files, etc to be able to fit into the RAM comfortably enough that none of it will ever have to be thrown out to make room for something else once loaded in. This is where you splurge.

After that, look at the CPU, but it is lower priority. Don't bother w/ more than 2 cores, unless your build tools support parallel building. (EDIT: This advice is for everyone else. For you, with iTunes and whatnot running, better have at least a third core). In that case, go ahead and get however many you can still afford.

Finally, you can look at disk speed. If you did your job with the RAM above, this isn't as important, but it still all has to be loaded in from disk once.

share|improve this answer
I disagree about only two cores. Remember that virtual machines use cores. – Loren Pechtel Sep 2 '09 at 22:34

Re: "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."

To improve performance of virtual machines, keep the vhd files on a seprate hard disk from the host OS. Additionally, if you have a third drive, keep your host OS, pagefile, and vhd files all on seperate disks.

share|improve this answer

This is a very opinionated, argumentative and also there are so many possibilities that this question is generally not a very good question at all...

There are lots of computers that are good enough for just programming with Visual Studio, its not particularly system intensive. However you do need a graphics card that supports multi screens......

How many GB for data storage? Only you can answer that...

Which CPU? Any modern Core2Duo or AMD Phenom that supports Windows 7 will be fine.

RAM? Standard at least 2GB??

share|improve this answer
On the contrary: simple, good advice on these things is easy to give, and obviously valuable in this case. – user4954 Sep 2 '09 at 22:17
"just programming with Visual Studio, its not particularly system intensive" - ??? devenv is notorious as a beast. A good IDE, sure! But a heavy beast to boot. – Marc Gravell Sep 2 '09 at 22:54
@MarcGravell And that's before you add ReSharper to the mix... – Richard Ev Mar 6 '12 at 23:53

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.