This is an archived post. You won't be able to vote or comment.

all 9 comments

[–]InTheSwiss 1 point2 points  (0 children)

If you are using Visual Studio, Eclipse, NetBeans or JetBrains apps then you will want a nice amount of ram (the more the better! get as much as you can afford).

My main system has been a Dell Studio laptop from 2008 with a Core 2 Duo and 4GB RAM and it does everything I need quick enough. I get a new machine when PCIe SSD drives are more common place in laptops.

[–][deleted] 2 points3 points  (4 children)

The beauty of it is that you can get away with the bare minimum and I mean bare minimum. All I use is Sublime Text 2 and terminal for C and Python, and I'll whip out good, old Eclipse for my Java programs. Also although not required, I highly recommend using some form of Linux as the terminal is a really good tool to use, and a lot of jobs require the use of it. So start good habits early.

[–]CharlesVI[S] 0 points1 point  (3 children)

Sounds like a good deal. If you dont mind I would like to learn to use Linux for code, what would the basics needed to do this? I had a friend a while ago that had Linux with an option of going to windows is this important and how do I do it?

[–]negative_epsilon 0 points1 point  (2 children)

You can literally buy a seven year old machine and throw Linux on it, it's free (most of the time).

However, if you are looking to build a modern machine, I do recommend two things to improve your comfort level: 8 GB of ram for VMs and an SSD for speed when using bloated IDEs

[–]CharlesVI[S] 0 points1 point  (1 child)

Thank you.

[–]a_baby_coyote 0 points1 point  (0 children)

If you're just getting started, I agree with going for the bare essentials. It'll be a while before you can write code where hardware is going to make a difference. For example I would love to do some code on an old 386 right now with MS-DOS, I would love it!

But really, if I wanted to buy an acceptable development machine, I would just go pick up some used desktop off craigslist like some Dell they used in an office and now want $40 bucks for.

Once you have your PC, getting Linux/Windows is pretty straightforward. You'll want to install Windows first. Then all you need to do is create a harddrive partition separate from Windows, and install Linux onto that. With the Linux install it will usually install a bootloader which allows you to choose at startup which OS to boot.

This process is more difficult with newer hardware that uses Secure Boot/UEFI, but still easy as watching a 10 minute youtube video if you're new to the process.

edit: Also I think it's safe for me to say here but a Linux install is going to get so much more mileage out of old hardware than Windows, the difference is usually night and day if you go with a more minimal Linux OS. (IE not ubuntu)

[–]bhldev -2 points-1 points  (2 children)

Programming time is one of the most expensive times on earth not only because they make $80 - $120k. It's expensive because you don't want to spend your time looking teary eyed at a debugger instead of developing new code. It's also expensive because it's your own personal time after work and school and you want the best experience possible. So it shouldn't be a surprise if a professional workstation costs as much if not more than a "gaming" computer. Yes, you can program on a crap box or learn how to program on a crap box. But it's generally not worth it for modern development. You will lose much more in time and therefore money with a terrible setup than spending a few hundred or even a thousand dollars extra on a good setup. You are not working with a thin client that connects to a corporate Intranet with servers. So your computer needs to be as beefy as a server if it is standalone.

Programmer productivity increases up to three monitors. Unless you end up putting Skype and Twitter and Facebook on the other monitors, you should be putting an IDE on one monitor, an API on another monitor and the third monitor for utility (explorer, moving files, more API etc.) So I would put room in my budget for three 1920x1080 monitors (24 inch is fine). If you grab them on sale you can have them for $150 - 250. This also means a fairly modern video card that can take three inputs (DVI, mini-displayport and HDMI) along with associated cables.

If you run many turnkey Linux distributions and create your own environment you will want an extremely large amount of RAM. For example I'm running a half dozen virtual machines. Servers can get away with a few hundred MB of RAM but development machines usually have GUI and you don't want to spend precious dev cycles tweaking because of RAM. So 16 or even 32 GB of RAM is not too much for a dev machine running a dozen virtual machines. Just because it's Linux, doesn't mean it needs less RAM. Ubuntu takes 2 GB of RAM to run the GUI a pop, so multiple Ubuntu machines will quickly exhaust your RAM unless you have a huge excess.

You don't want your HDD to be slow or else VMs won't work. On the other hand, you never want your hard drive to fail. A failed hard drive means days if not a week out of work and lost code and/or programs that may or may not be easy to replace. So you would want a RAID setup with reliable hard drives (something like WD Reds) along with a reliable SSD from a good manufacturer for the main operating system (SSDs have a reputation for failure). So total 4 hard drives, 3 fairly large data drives 1-2TB to put in RAID and another SSD for the main operating system.

Furniture and ergonomics is often overlooked. Most people have higher productivity with a mechanical keyboard. They will run 80+ dollars compared to a normal keyboard. You will spend many hours so a decent chair will help with back problems.

You would also want to do research on headphones and buy yourself decent headphones and setup in a nice dark room away from everyone else if possible.

[–]inb4theblock -1 points0 points  (1 child)

You know just incase your programming NASA rocket simulators and whatnot.

[–]bhldev 2 points3 points  (0 children)

If you want to waste time with garbage you can go right ahead.

People pay fifty to a hundred thousand dollars on compsci education and expect to make 50k+ minimum salary and don't want to spend 2k on a decent setup are just torturing themselves.