Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I've beeen given a budget for building a desktop PC for app and game development.

What components should I consider to be a priority when selecting parts for the computer, and which should I ignore or pay less attention to?

Additional Information:

  • Budget: $900

  • Wish to use by two users at the same time, via two monitors and keyboard/mice

share|improve this question

closed as off topic by Dynamic, Jimmy Hoffa, Frank Shearar, Yusubov, MichaelT May 9 '13 at 1:36

Questions on Programmers Stack Exchange are expected to relate to software development 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.

The "two seperate users" thing is a problem (nay disaster, it isn't really done). See this question on SuperUser.com for more on this subject. –  Binary Worrier Sep 16 '11 at 12:46
I know this question is now closed, but I urge you to consider not only the performance of the hardware you will use. A great keyboard and mouse will go a long, looong way in making your time as a developer more enjoyable and efficient. –  IAE May 9 '13 at 6:19
add comment

4 Answers

up vote 7 down vote accepted

With $900 you could get a pretty good system.
Some key things to look for:

  • Processor speed: More is better. If you're doing 3D game dev than you'll want at least a quad-core with 2.5+ GHz, if possible 3 or more GHz would be ideal
  • Memory: Again, more is better. I would reccommend at least 4GB, 8 or more would be good.
  • Graphics card: For just regular development this is the least important part, but if you're doing 3D games you definitely need a good one. The best would be an nVidia GeForce GTX series, but if you don't have that much money left, just something that supports a dual-monitor setup (for the 2 user thing)

Also, what does your dad mean by '2 seperate users on the computer at the same time'?
If he means that both users can each work seperately, that's impossible, unless you get a really complicated setup with a virtual machine. You can use a splitter for 2 keyboards and mice, but you will not be able to have 2 seperate cursors onscreen at the same time using just one OS.
(I'm assuming you will be using Windows?)

If you get a reasonably good graphics card you will be able to have a dual-monitor setup but as far as I know (correct me if i'm wrong) it is impossible to have 2 applications being used at the same time on 1 box.

Hope that helps!

BTW, for a pre-built system with those specs look at newegg. they have great prices on computers and parts

share|improve this answer
Some questions after designing a pc at ibuypower.com : What's the effect of extra power supply? Whats SSD for a hard drive, or any other drive like a Data Drive, and should i increase it? –  Griffin Sep 16 '11 at 1:19
SSD I belive stands for Solid State Drive. a solid state drive uses electronic memory instead of a spinning disk, and therefore is faster. What do you mean by Data Drive? –  Nate Koppenhaver Sep 16 '11 at 1:27
:Well i guess I'm at my limit anyway... Which of these two setups would you suggest? buy.com/prod/… OR ibuypower.com/Store/Intel_X58_Core_i7_Configurator/w/84496 –  Griffin Sep 16 '11 at 1:33
I would buy the first one because it's $200 cheaper and is a 6-core with comparable components to the more expensive one with the i7 quad-core. the second one is like having 4 3.2 GHz processors, but the first one is like having 6 2.8 GHz processors and it's less expensive, so I would go with that one. Don't get me wrong, they're both really good boxes, but I would always get the cheaper one, personally :) –  Nate Koppenhaver Sep 16 '11 at 2:19
@Nate The processor comparison is misleading because it implies that you can compare clock speeds between different architectures which is simply not the case. Clock speeds are only comparable across the same architecture, for instance a 2.8GHz i5 is faster a 2.8GHz Core 2 Quad. Also more cores only matter for running more programs simultaneously or for applications that can fully utilize all of them. I doubt that in most cases the difference between 4 and 6 cores are noticable. Without knowing what programs the OP is using and how well they utilize multicore it's hard to pick a winner. –  Davy8 Sep 16 '11 at 21:30
show 3 more comments

Pick out the best monitor you can get, then spend what's left of the budget on the computer.

I see that this just got downvoted, so I'll expand. Every inch of monitor space and every pixel of resolution is going to translate to better productivity. You'll be able to see the code better, and see more "information" simultaneously. By contrast, CPU, RAM and hard disk space give you diminishing returns after they reach the point where they're good enough, and this point is well before what you'll get by buying the top of the line.

share|improve this answer
add comment

Memory speed (from processor cache all the way down to disk speeds- the whole hierarchy) is important to look at since most compiler operations are memory or IO bound. For example, compilers do a lot of file-reading (source and intermediate object files) and writing (object files and intermediate libraries). Raw RAM count will be useful as well depending on the size of your project and tools.

share|improve this answer
add comment

For programming, your two core pieces of hardware are going to be your processor and your RAM. IDEs are quite typically RAM hogs, and you want the fastest compile times. These two parts play the most critical role, although if you are really into it, and have the cash, a solid state drive is also nice. If you are doing heavy duty graphics, you will need a fast graphics card, however it is highly unlikely you will need anything above a run of the mill card.

As for the place to buy, Newegg is pretty much my defacto site for buying computer parts.

As for two people being able to use the computer at once? You could run a second operating system inside of a virtual machine, but that will obviously hog memory and processing ability. The only problem with this is having a second mouse and keyboard. I do not know of a way to do this, but technically you could do this if you were to write your own drivers and have the input passed onto the VM in some way.

share|improve this answer
You can do this using VMWare Server, or VMWare ESXi, both of which are free. The second user would be on a smaller cheaper PC and use remote desktop for access. All very do-able. –  quickly_now Sep 18 '11 at 2:56
@quickly_now If there is a second computer already available, why would two people need to use the computer at the same time? –  Glenn Nelson Sep 18 '11 at 15:59
If the second computer is underpowered, it can still be pressed into service. You can use remote desktop client, for example, on a 10 year old steam driven clunker and it will be just fine. –  quickly_now Sep 18 '11 at 23:55
@quickly_now Moot point, that part was removed from the question. –  Glenn Nelson Sep 19 '11 at 1:33
add comment

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