views:

467

answers:

13

Given that:

  • SSD’s are now [high end] mainstream
  • Two+ cores are not hard to come across
  • 24+ Inch monitors are plentiful
  • Dual Video Outputs are the norm.
  • 64-Bit OS’s complement very cheap memory

Can I ask two questions to hardware enthused developers [not the gamers!]

  1. What high-end hardware item could you not develop without - [what is your hardware crutch]?

  2. What should a baseline [no frills] dev machine look like and what basic specs should it have to ensure that any dev can still be productive?

Note: It might be worth mentioning what platform and dev-env your base line is for?

+1  A: 
  1. 24 inch or larger monitor
  2. Baseline dev machine would be a 15 inch MacBook Pro with 4GB of RAM. (For web development)
Ryan Doherty
+3  A: 

Absolute must have is a good monitor which is easy on the eyes, afterall, you stare at it all day. I go with the 24" Samsung (forget model). I used to go with two monitors but prefer the one wide screen now. You need to be able to get docs and code on the same screen.

Secondly is a good chair and desk (sorry not very technical).

Followed lastly by plenty of RAM (2Gb minimum). Once you get over any thrashing due to paging you are fine. Anything with a dual core had enough processing power.

billybob
quality monitor, without a doubt. *PLEASE* pay attention to LCD panel types, I did not do this last time and I regret it to this day! http://www.codinghorror.com/blog/archives/000991.html
Jeff Atwood
+3  A: 

The most important hardware update (and most underrated) is the monitor.

If you're coding 8+ hours a day don't hesitate on costs and get a nice high end 24" at least, or even a pair of them.

pablasso
A: 

I am not a developer, but do sit at the computer all day.
For me the must have is a desk that is a good height or easily adjusted, I prefer dual monitors, a 26" and a second wide screen that can turn sideways to view documents full lenght without the need for a lot of scrolling, a computer with dual core(prefer 4) and at east 4gb of ram(I tend to do a lot of vm work), and as stated above, a good chair that has lumbar support and will allow me to lean back when I am reading or pondering a situation. The last one is specific for me since I have glasses and tend to hear high frequencies, I prefer to have incandescent lighting with a slightly warm spectrum. I can hear a fluorescent ballast above someone playing loud speakers. I also find I get less glare and I can focus my eyes for longer periods of time with incandescent.

+1  A: 

A pair of the fastest hard drives avaílable. I never recognized how much difference separate and fast System and Data drives can make.

(And please, none of those slow SSDs that you usually get nowadays in <$2000 Laptops - if you really want to hop on the SSD train, get a proper one, otherwise you could as well use a 32 GB SDHC Card)

Michael Stum
The difference can be dramatic. I have a fixed desktop with a 7200 rpm drive, and my coworker has a laptop with a standard laptop drive. The laptop outspecs my desktop in every way but the hard drive, yet it takes three times as long to do a full application build.
Joeri Sebrechts
A: 

Ram, lots and lots of ram. Ram compensates for many performance bottlenecks.

But do make sure you keep an eye on the memory usage of whatever you're building. When you're building a 60 MB footprint app on a system with 2 gigs of developer tools loaded at run-time, it's easy to lose that footprint in the noise, even when it doubles.

Don't bother shelling out for a high-end cpu. The cpu is the most overpowered component in modern systems. A standard cheap dual-core should be more than enough. Compiles tend to be disk-bound, not cpu bound, so that money is better invested in a faster drive.

Joeri Sebrechts
Debugging can slow down programs considerably (when using valgrind, for example). In that case, CPU cycles are very important. Of course, if you're programming something CPU-intensive, you'll want CPU power too (for quicker debugging sessions).
strager
I think something like a Core 2 Q9300 would be more than enough for anyone, and it's anything but high-end. I don't think anyone is going to buy a Celeron 1.6 for any serious work anymore.
biozinc
A: 

Dell Outlet sells 30" LCD monitors for about $800.00. That is a good place to start. Besides that, invest time into tweaking your OS to your needs and automate as much as possible.

It's like I keep telling people, "I'll upgrade to the latest Mac when it somehow manages to help me run more Terminal windows and Text Editors." Until then, you're better off saving the money for a new machine and investing it into a decent monitor and keyboard.

Nolte Burke
Agreed on the upgrading bit (though I really hate upgrading in general).
strager
A: 

It depends on the project.

For large imaging application like medical imaging applications, You may require: large monitors(we have to view the images properly and in detail), powerful graphics, lots of RAM and a good processor(imaging applications usually need lots of power).

Raghu
A: 

I'm going to echo most people on the large monitors part, and you can always make good use of a pair.

Second to that is a good keyboard. What that mean varies depending on which school of keyboard design you subscribe to. I'm with the ergonomic camp.

Following that is 2Gb+ of RAM, and a recent desktop CPU (anything released in the past 2-3 years really).

biozinc
+1  A: 

There's been a study on the optimum size of computer monitors by the Utah University Wall street journal article. Not surprising is that bigger monitors will boost the speed of work. Surprising is that there seems to be an optimum size of 26". There's no explanation why though.

Berend Vervelde
Funny, given how rare 26" LCDs are until this year.
biozinc
Jeff also had an interesting post (he has a post about everything i think): http://www.codinghorror.com/blog/archives/001076.html
Michael Stum
A: 

As has been previously said, large monitors are essential. These days is not that expensive to have 2 hooked up to a machine. At work I'm lucky enough to have 3 hooked up to one PC and it make a huge amount of difference to how I work.

A decent keyboard and mouse are essential. For the last 10 or so years I've always taken my own mouse and keyboard to work as you typically end up with whatever comes from the PC manufacturer. I use a Microsoft ergonomic keyboard and it's very hard to find these in the workplace, or to get your employer to stump up for one, but I've never worked anywhere where the employer has an issue with taking your own in.

Sean
A: 

High-end hardware I cannot do without:

Affordable luxuries I could do without:

  • Dell 30" widescreen monitor ($900)

  • Twin Velociraptor hard drives ($600)

Norman Ramsey
+2  A: 

This is entirely dependent upon what you are developing for. Take your target system requirements, and double them and use that as your minimum specs for the dev machines. That may seem odd, but it is about the point I've found that I've needed at least of when developing various projects.

As others have mentioned the importance of getting good monitors, keyboard, and chairs is underrated. If you are going to spend a lot of time at this PC, those are very important.

RAM is cheap, and you'll likely never have enough. If you are running 32bit Windows, max it out at 4GB of RAM. If you are using another OS that supports more than 4GB of ram (Linux, or 64bit Windows for example), start at 8GB minimum, and if you are working on multimedia projects be ready to upgrade from there.

Best bang for the buck on CPUs seems to be Quad cores right now, so I would say that at least a quad core (2.4Ghz or so) should be the minimum. You may not see much difference going up beyond there, until you get until dual quad core, which is a large price jump.

Find a reliable hard drive or two. Reliability and speed are going to be more important than size. Personally I currently go for a pair of 640GB western digital drives in all machines I build.

Drakonite