Recommend computer for programming

I've been programming (in Python) for a number of years with some pretty sad computers, but have made it work. I've got a "loaner" computer for now which is better, but even with that I've hit a snag...I'll explain:

The loaner is a Intel Duo Core 2 GB RAM, 32 64 bit computer, with a 32 bit WinXP. I went to compile something and it ran out of RAM mid-way through the attempt. I was advised that a 32 bit computer OS can only make use of 2 GB of RAM per process, and that a 64 bit computer OS can make use of much more (I've looked into it and it appears to be 8 TB?).

My question is: what's a realistic minimum specs for a cheaper end computer that would be suitable for most programmers today? Should one always go for a 64 bit computer? Is there a minimum RAM? Minimum processing speed? (Obviously, all I ask for are opinions, unless there are some hard walls at this point I am not aware of?)

I'd like to test on Windows, Mac, and Linux and possibly on the same computer (virtualizing), so might as well mention that too.

Posted Jul 7, 2014, 5:58 AM UTC · edited

28
JBlitzen•

Honestly, I'm a little surprised you ran out of RAM while compiling. Shouldn't it also use your pagefile?

I actually find a little value in developing on crappy systems, since otherwise you might not notice some performance issues in your code.

5
cmpythonOP•

I don't know what to expect with this compilation process.

I agree about the crappy systems; I'm going to have several old ones (all the way back to a 128 MB RAM laptop bought in 2000) to test just that. In the development work, though, it's painful to work on something laggy.

1
Updatebjarni•

What exactly were you compiling and how? Maybe you should google it to see if others have had the same problem, because if a build job ran out of memory on a computer with 2Gb of it, it sounds like some problem with either the compiler or the build script. 2Gb is plenty of memory. Usually, what computer you use for programming makes very little difference unless you're building really large programs in which case rebuilding from clean might take a while.

A 32-bit address space is 4Gb large by the way, not 2Gb, but depending on the operating system a larger or smaller part of it may be reserved for the kernel and not usable by the process, so that might be where the 2Gb figure for Windows XP comes from. A 64-bit processor (like your Core 2 Duo, thanks u/CartmansEvilTwin!) will effectively remove this limit, but only provided that you run a 64-bit operating system on it.

4
CartmansEvilTwin•

Maybe it should be added, that every C2D-CPU already is 64 bit. So just put a 64bit OS on your machine (Linux, if money's tight). By the way, I'm roughly a year before my master in computer science and my main machine is a 2,66GHz Core2Duo with 4GB RAM, some things take a while, but it's more than usable.

3
cmpythonOP•

Thanks. Actually maybe I could make this dual boot for Linux as well. Not sure that's worth it at this point, as will have to give it back soon(ish). Thanks for the perspective, too.

1
cmpythonOP•

I was trying to compile a wxPython program with Nuitka and MinGW and the Nuitka list members are helping to figure out how to proceed. I have been suggested to try the MSVC compiler and see if that works.

Aha, this is a 64 bit processor! That's interesting to know. For some reason I assumed (shouldn't have) that because it is somewhat out of date it was 32 bit. The Windows XP installed here is 32 bit, though (and I can't change it; it's not my machine).

1
friend_of_bob_dole•

Not the cheapest solution, but developing on a Mac running Parallels for Windows and Linux VMs with a two of three monitor setup is a dream.

As for bare minimum, you need a computer that meets the minimum system requirements for your IDE and of the application/utility you're developing. Your loaner sounds sufficient for most things.

Also... compiling Python?

0
cmpythonOP•

Yes, Macs are usually too pricey, but maybe used...?

I know; I was trying to compile Python with Nuitka to try it out.

2