Take the 2-minute tour ×
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

migration rejected from stackoverflow.com Jun 17 '13 at 11:37

This question came from our site for professional and enthusiast programmers. Votes, comments, and answers are locked due to the question being closed here, but it may be eligible for editing and reopening on the site where it originated.

closed as off topic by Canadian Luke, Keltari, Breakthrough, soandos, mpy Jun 17 '13 at 11:37

Questions on Super User are expected to relate to computer software or computer hardware within the scope defined by the community. Consider editing the question or leaving comments for improvement if you believe the question can be reworded to fit within the scope. Read more about reopening questions here.If this question can be reworded to fit the rules in the help center, please edit the 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

6 Answers 6

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

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
    
compilers will use as many cores as you have available if you project is setup properly. –  Richard Lalancette Feb 15 at 16:10

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. If your compiler supports parallel builds, the number of cores may be just as important as the speed of those cores. With that in mind, go ahead and get as good a CPU as 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
    
I disagree about only two cores. Remember that virtual machines use cores. –  Loren Pechtel Sep 2 '09 at 22:34
    
@LorenPechtel - Well, its certianly obsolete advice now. Updated. –  T.E.D. Aug 28 '13 at 13:51
    
Is it just me, or is it kind of bad form to accept a question from another stack, then close it as off-topic? –  T.E.D. Oct 23 '13 at 14:44
    
+1 for get lots of RAM –  Jeson Park Jun 9 at 10:41

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

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
    
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 Everett Mar 6 '12 at 23:53

Writing complex software or being a one-man-team requires either multiple computers (preferably different OS') or dual monitor.

My setup as follows:

  • 2007 iMac 2.16ghz 24" 250gb SATA III WD HDD
  • Xcode paired with iOS SDK & Mac OS X 10.7.5 (which reminds me, i need to update)
  • Adobe CS6 Master Collection for Mac
  • Office 2011 for Mac
  • iTunes ;)

  • ASrock z87 chipset mobo

  • Intel Core i5-4670k 3.4ghz (non-O.C.) 4th Generation
  • Intel 80gb SSD for OS and Application storage only
  • 2x 74gb WD Raptor's in Mirrored RAID
  • All personal data stored on home server, (physically remapped my documents, etc. via Domain)

And i am getting dual 22" acer HD monitors. Screen space is everything! SSH'd terminal on the right window, code on the left, browser compatibility testing on the mac and the iPad that is sitting right beside the mac, or the Android phone sitting beside the iPad on the desk.

If you develop .NET you need Visual Studio Ultimate/Professional (its been a while since ive developed .NET). Dont just settle for the express edition.

You MUST MUST MUST have Notepad++. If you plan on doing any form of code HTML-or-greator, you absolutely need it. And FileZilla for FTP. TextWrangler for Mac, but i still prefer Notepad++ in Wine.

And i forgot to mention the HP G50 laptop running ubuntu 12.xx for additional testing and *nix work.

share
    
I find Sublime Text much better than Notepad++, especially with some helpful plugins like Emmet. –  gronostaj Jun 16 '13 at 6:57

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