For a programmer, a computer is as indispensable as an ultimate sword is for a ninja. And if you are looking for a new machine, then you would want to look among the best computers for programming and coding. There are plenty of computers on the market, and it’s very easy to buy one and start coding. However, if you don’t do any research, you may end up getting the wrong kind of a computer.
How do you do know what kind of a computer to pick though? Well, that’s exactly the question we’ll be answering in our guide!
You could either build your rig yourself completely from scratch or just buy a prebuilt personal computer. Both approaches have their advantages and disadvantages.
When building your own computer, you are able to make it fit your own unique specific needs. You would be able to pick only those components that are suitable for your tasks and for your wallet. With a custom computer, it is you who decides what kind of hardware to get. And when choosing that hardware, you could also take into account its future upgradeability. If you need to have a flexible rig, then you would need to choose components accordingly.
Obviously, building a computer from scratch requires much more knowledge of computers. Since you are buying every single component separately, you would need to make sure that they are compatible with each other.
However, with a prebuilt computer, it is much more convenient but you will be limited by the hardware installed by the seller. You may still be able to upgrade or replace parts, but initially, you will only have whatever opportunities the computer seller gives to you. What a prebuilt rig can’t offer you, however, is 100% satisfaction of your requirements. You may or may not be lucky enough to find the exact configuration to suit your tasks.
In previous years, building customized PCs was a better choice in regard to pricing. Due to significant spikes in the area of cryptocurrency mining, the GPU prices exploded. Miners started to become interested in buying out the gaming GPUs, to use as a part of their cryptocurrency-mining rigs. However, by 2018, the “cryptocurrency craze” started to cool down. Nowadays, many miners said that it is not profitable to utilize the GPUs anymore. Demands for the GPUs has significantly decreased. This should hopefully lower the prices reflecting laws of demand and supply.
Additionally, mobile cell-phone industries started using a lot more RAM in production, which has resulted in a RAM shortage industry wide. As the PC hardware components started to increase in prices, the prebuilt PCs have remained relatively the same. Today, buying a pre-built computer may be a cheaper option since the parts are bought directly in bundles from the manufacturers.
Generally, if you can find a prebuilt computer that satisfies your needs, then it would be a better option. You’d save a lot of time and maybe some money on picking the parts and then assembling the computer. But if you have very specific requirements and can’t really find a good computer, then a custom rig would be the better choice.
Besides, some people really love the hassle of picking computer parts and then assembling their workstation. That’s very satisfactory for them. If you are such, then you would want to build a custom rig even if there is a ready computer on the market that is just right.
The ability to build computers is regarded as a skill that is invaluable to have. It is also fun, rewarding and educational. After conducting research on the different components, purchasing the necessary parts, and then learning the way to build the computer, assembling each part and finally pushing down on a power button, will make you feel extremely proud.
You also get to learn about software and the hardware, which results in a superior machine to match up to your exact requirements. In addition, should your computer experience any issues into the future, you also are armed with more information on how to go about fixing it, which can save you a lot of money linked with taking the computer to a local PC repair shop.
You would also need to choose between a desktop and a laptop. The primary factor here would be whether or not you need portability.
If you travel a lot and need your workstation to be with you at all times, then a laptop is the right choice. It is compact, light, and doesn’t depend on electricity. Well, as long as its battery has charge in it. However, what laptops lack in is performance and upgradeability. Due to their size constraints, there is only so much that manufacturers could fit in them. This means smaller CPUs, GPUs, less RAM, smaller display, etc. Besides, laptops are less efficient in cooling.
Don’t get me wrong, laptops can be very high-performance, but never as powerful as a comparable desktop. And laptops are also typically more expensive than desktops.
Desktops can be more powerful, more cooling-efficient, and also more convenient when working with several several monitors. You could still do that with a laptop, but not when you are on a plane or train. One downside of a desktop is that you can’t just buy it and call it a day. You would still need to buy a monitor, a keyboard, and a mouse at the very least.
Another con of desktops is that they rely on electricity. This is a bad thing because power outages could catch you off guard when you are working. If you get unlucky, all your work could get lost. You could still safeguard yourself from such things, but you would need to get a UPS (Uninterruptible Power Supply) to be able to shut down the computer safely in case of power outages.
If you don’t need portability, then a desktop would be the better choice.
So if you have decided to get yourself computer but don’t know how and what to get, then this section is for you. In fact, you would find it helpful whether you want to get a prebuilt computer, a laptop, or build your own rig.
The motherboard (also called mainboard) is the backbone of any computer. Every other component is connected to it. Because of this, the choice of the motherboard will dictate what components you would need to buy for it. Besides, it will determine the level of your computer’s upgradability.
Some people begin to build their computer by choosing a motherboard first. Others pick the CPU and RAM and only then pick a motherboard. The route which you will be going will depend on your requirements.
For example, if you need to have a particular CPU, then you would need to choose a motherboard that would work with it.
Regardless, make sure to get the best motherboard you can. Even if you don’t have the money to get a powerful build now, a high-end motherboard would allow you to do so in the future.
The form factor of the motherboard impacts its size and layout. There are three common motherboard form factors to choose from: full-size ATX, Micro-ATX, and Mini-ITX.
Compact desktops use the latter two, while ATX is used when the size of the computer is of no concern.
The bigger the motherboard, the more powerful the computer may be. For example, a small Mini-ITX motherboard doesn’t have as many memory slots as an ATX model, which would limit the amount of memory you would be able to have. And besides, the size also will determine how upgradable the motherboard is. Larger motherboards are more upgradable.
The socket is the plug on the motherboard that the processor is installed into. It connects the CPU to other components so they can work with each other efficiently. The socket is important because if you choose the wrong CPU, you just won’t be able to fit it into the motherboard.
AMD and Intel CPUs – the two largest manufacturers of computer processors - have varying sockets. Furthermore, two Intel or AMD processors may require different sockets. Because of that, you will need to make sure that the CPU of your choice suits your motherboard.
The chipset is as important in motherboards as the socket. What the chipset essentially does is managing the data flow between the computer’s components. Different CPUs work with different chipsets, so you would need to make the right choice of a motherboard and CPU.
The number of memory slots (DIMM or dual in-line memory module)) on the motherboard will dictate how many and what type of memory slots you can add.
Typically, motherboards have 2-8 memory slots. The more slots a motherboard has, the more RAM it can work with. Besides, a bigger number of slots would increase the upgradability of the rig.
The expansion slots and connectors of the motherboard are located on its lower half. They are used to connect graphics cards, HDDs or SSDs, dedicated network or sound cards, USB devices, etc.
The most important expansion slot is PCIe (Peripheral Component Interconnect Express). It is used to take in graphic, network, and sound cards, as well as a variety of other hardware. If you are going to use devices that require some specific connector or slot types – like USB 3.0, eSATA, HDMI, or Thunderbolt – you would need to make sure that the motherboard has them as well.
You’ll be connecting all your sound devices, keyboards, mice, USB sticks, and monitors through the ports on the rear panel of the mainboard. No matter how cool your motherboard is, if it doesn’t have the connection ports that you need, it will be useless.
Motherboards generally have the same rear panel layout. What may differ is the type and number of USB ports, HDMI ports (if the mainboard has an integrated GPU), and whatnot. Needless to say, your needs will dictate what kind of rear ports you will need in your motherboard.
The power supply unit (PSU) of the computer converts AC to low-voltage DC power for the internal components. Without a PSU, your computer just won’t turn on.
The main thing to look for in a PSU is its wattage measured in watts. It needs to have enough wattage to power all the internal components of the computer. To pick the right PSU, you need to sum the power ratings of all the components you will be putting into the computer. Then, add 10 – 20% to that sum and pick an appropriate PSU.
Modern computers use HDD and/or SSD for data storage.
HDDs (hard disk drives) are electromagnetic devices that employ rapidly rotating disks (called platters) and moving magnetic heads to store and retrieve information. When you are searching for information on an HDD, the magnetic heads move along the surface of the rotating platters to find it, which takes some time.
HDDs are very delicate, and vibrations and shocks can easily damage their internal components.
On the other hand, SSDs (solid-state drives) don’t have any moving components, instead using electronic circuitry. Because of this, SSDs load files much quicker than HDDs, which would be useful, for example, for system startup. Aside from that, they are much less susceptible to shocks and vibrations.
SSDs have their downsides as well though. First of all, they are much more expensive than HDDs at the same storage capacity. Secondly, due to the way the memory of SSDs works, they have a much more limited cycle life than HDDs. Lastly, SSDs typically don’t have as much storage capacity as HDDs.
To make the most use out of both, you can put both types in an array of hardware called hybrid storage. You should get a small SSD to keep your operating system and frequently used files on, as well as an HDD to keep large files that aren’t read that frequently. This is called hybrid storage.
While HDDs and SSDs are used for long-term data storage, RAM (random-access memory) stores data that is currently used by applications. So when you close the application or turn the computer off, the data gets removed from RAM.
If you don’t have sufficient RAM on your computer, the software may work slowly, crash, or refuse to launch altogether. Fortunately, RAM is the easiest thing to upgrade in the computer. You may just add a memory stick to your motherboard (given that it has free slots) or replace your existing sticks with better ones.
The processor or CPU (Central Processor Unit) is the brain of the computer. It is responsible for taking instructions from the software and ensuring that the hardware carries them out properly. The CPU processes the data passing through the computer: it carries out logical operations, reads and writes information from storage devices, manages input/output, etc.
The performance of the CPU dictates the performance of the entire computer. If you have a low-performance CPU, it’ll be a major bottleneck in your system, even if the rest of the components are fast.
There are several factors that impact the performance of the CPU.
A GPU (graphics processing unit) or graphics card is used to render images. For game developers or those who work with videos and images, a high-performance graphics card would be a must.
GPUs have a lot of specs in them like memory, shader, and core clock rate, texture fillrate, and whatnot, but those aren’t things that you need to focus on as a programmer.
Instead, we’ll examine specs like video memory, dedicated and inbuilt GPUs, and TDP. You should avoid older generations of GPUs. Often, a mid-end modern graphics card is comparable or even faster than a high-end older GPU, not to mention that it also would be more power-efficient.
You will probably be coding most of the day, so having a good monitor is crucial. If you have a poor monitor, you will experience eye fatigue, irritation, headaches, and frustration. While there isn’t such a thing as a monitor for programmers, a high-end monitor would most likely be able to suit your needs.
Nowadays, monitors can be very large and have 4K resolution, but those aren’t the primary things you would want in a monitor. Your monitor needs to, first of all, be easy on your eyes so you don’t get fatigued from one or two hours of working.
And when it comes to single- or dual-screen setups, screen size, and resolution, it is your personal preference that plays a big role.
When looking for a monitor, it would be really great if you were able to go to a local store to check out various monitors. You would thereby be able to see the difference between screen varying sizes and resolutions.
Resolution is possibly the most important spec of any monitor. A high-resolution mid-size monitor would deliver easier-to-read and crisper image, whereas a huge but low-res monitor could impart your working performance.
Nowadays, there are 3 common monitor resolutions: 1080p, 1440p and 4k.
When picking monitor resolution, you would need to make sure that your graphics card supports it. Some older graphics cards don’t work with 4K, so keep that in mind if you’ll be using your old GPU.
The type of display panel used in the monitor will determine its image quality, viewing angles, and eye friendliness. The 3 common types of display panels today are IPS (in-plane switching), TN (twisted nematic), and VA (virtual alignment).
These two determine how quickly your monitor will change the color of individual pixels from black to white or from one shade of gray to another per one second.
When it comes to programming, response time and refresh rate aren’t that critical. Most modern monitors come with adequate refresh rate and response time anyway. Nonetheless, a monitor with a refresh rate of at least 60Hz is the thing to go for.
The vast majority of monitors on the market have a landscape orientation. Portrait monitors are quite rare. Some may also be adjustable.
Programmers quite often use portrait monitors because of their one advantage: they allow you to do less scrolling when reading or editing code. Whether to go for a landscape or portrait monitor is a matter of preference. However, you may want to have a landscape monitor as your primary display and a portrait monitor as a secondary.
An efficient monitor setup makes your coding a lot more effective and productive. Many professional programmers will have 2 sometimes even 3 monitors running at the same time, as it doubles the working space, providing a way to work on different screens and several windows at the same time.
Triple or dual monitor setup offers you with 1 full monitor when it comes to your code, while the other monitors can be used to read documentation and researching topic, etc. Certain programmers may require a 3rd monitor, which means they have one screen which is dedicated for testing codes, which is often essential in fields like app or web development.
If you are going to get a dual- or triple-display setup, make sure that your graphics card has the ports for them. With high-end GPUs, you won’t have to worry about that much since they usually come with several display ports. And yeah, you would also need to make sure that you have the space for several monitors on your worktable.
If you’ll be getting several monitors, then you should also think about buying a monitor stand. A monitor stand would allow you to fully adjust the position, height, and angle of your screens to both create a convenient workspace for you and also avoid issues with viewing angles.
As a programmer, you may spend hours typing on your keyboard. It would be great to have a high-quality keyboard, right?
A good keyboard would firstly be comfortable and easy on your hands. And besides, it would live longer, which is important since you’ll be using it more than an average computer user would.
Your personal preference would dictate what kind of a keyboard you need. If you like a keyboard, you buy it regardless of its features. However, there are some things that you should consider before choosing a keyboard.
The 3 common keyboard sizes are full-size, tenkeyless (TKL), and compact.
The choice in a keyboard size has to do with personal preferences. The better size for programming keyboards will depend on your needs.
Although the switches are out of your view within the keyboard, they are the most important components of any keyboard. Modern keyboards commonly use either membrane or mechanical switches.
Membrane keyboards have several layers of rubber or plastic pads in them. The upper pad contains dome-shaped membranes: when you push a key, the membrane is pressed down against the lower layers, allowing current to pass through to actuate the key.
Since making whole membrane pads is less costly, membrane keyboards are cheaper than mechanical ones. Most people use membrane keyboards and are pretty satisfied with them. However, some people don’t like the sappy typing feel of membrane keyboards. Besides, they are less durable than mechanical keyboards. If the membrane gets damaged, you’ll probably have to just replace the keyboard. And the keycaps of membrane keyboards can’t be replaced.
Mechanical keyboards, on the other hand, have keys each with its own separate switch. Thanks to this, replacing individual keycaps is possible in mechanical keyboards.
Mechanical keyboards are also much more durable than membrane ones. And that’s the thing that a programmer would want when typing all day long. Some people also like the easiness with which mechanical keys are pressed.
When you press down a tactile switch, you feel the resistance of the tactile bump at the point of key actuation. Some people find that resistance very pleasing, so you may want to get yourself a tactile mechanical keyboard if you’ll be typing a lot. Tactile switches can also be clicky and non-clicky. Clicky switches provide an audible click along with the resistance at the point of key actuation.
Linear switches deliver a resistance-free and quiet key press with no clicking. Some people find the resistance of tactile switches annoying and unnecessary. If you are one of them, then you would want to go for a mechanical keyboard with linear switches.
The standard keyboard usually forces a user to pull-in and straighten the arm position, bend the wrists and then hold these positions for many hours. This usually results in pain and discomfort that can spread through the fingers, the wrists, elbows and even up to the shoulders. If you have experienced any stress and pain in your wrists when typing, then an ergonomic keyboard would be a good pick.
The ergonomic styled keyboards are made to lower these type of strain injuries. Ergonomic keyboards have a curved key layout that allows you to type without twisting your wrists. This natural positioning of your wrists would be able to reduce the strain on your wrists.
A good quality keyboard provides a comfortable experience for programmers, which results in boosting their performance. On the opposite side, a poor-quality keyboard will make you feel uncomfortable or even frustrated which will ultimately lower your performance greatly.
Some programmers get a high-end keyboard and call it a day. When it comes to the mouse, they just go for any model they find nice for them whether or not it is good. For some people, such an approach may be fair. But since you also navigate on the screen a lot throughout a day, you should probably get a good mouse as well.
Just like it was with keyboards, a bad mouse will put a strain on your wrists and won’t be durable. So why not avoid any frustration and just get an excellent mouse from the get-go?
Many people go for the conventional mice that force your palm towards the table. Some people are alright with this, while others feel a strain on their wrists. This strain would not only be painful but would also impart your productivity. If you are one of those who feel a strain when working with conventional mice, then you should go for an ergonomic mouse.
The three main types of computer mice designed for ergonomics are known as Vertical, Trackball and Sculpt.
Rather than forcing your palm down towards the table surface, a vertical mouse puts your hand in a neutral position. Your palm is set parallel to your body, which is a much more natural and ergonomic position.
The bad thing about vertical mice is that they require some getting used to. And besides, there aren’t many models on the market, so people with very large or small hands, for example, may be unable to find the right mouse for them.
Some programmers find that trackball mice much more comfortable than conventional and even vertical mice. A trackball mouse has a trackball that is rotated with the fingers to move the cursor. Your hand remains stationary on the tabletop.
Because you don’t need to move the mouse around, a trackball mouse would come in handy if you don’t have any flat surface to put your mouse on.
A sculpt mouse looks very much like a regular mouse, but it has slight differences that make it more ergonomic. The shape of a sculpt mouse slopes up and gently rises back towards the palm, allowing for a more comfortable positioning of the wrist.
Mice can also be wired and wireless.
Wired mice aren’t sensitive to other wireless devices and thus are lag-free. They are generally cheaper and work faster. And they, needless to say, don’t require you to worry about batteries. The main downside of wired mice is that they are restricted by a cable in their movement.
On the other hand, a wireless mouse is highly mobile and flexible. It allows you to minimize the number of cables on and behind your computer, which would simply make your workplace tidier and easier to manage. However, wireless mice are susceptible to lag and aren’t as reliable as wired mice. Besides, it is also fairly easy to lose the wireless USB dongle somewhere. And you’ll be restricted by the battery’s charge as well.
Aside from the scroll button and left & right mouse buttons, some mice also have programmable buttons on the side. Those buttons could allow you to bind keyboard combinations to a single mouse button. Instead of reaching those buttons on the keyboard, you could simply press a button on your mouse.
You could also bind many sorts of other functions to the programmable buttons. If you do certain key combinations frequently, then mapping them onto a programmable mouse would allow you to save a lot of time.
Since laptops offer little to no upgradeability, you’ll need to choose a laptop and just stick with it. You can’t alter major things in laptops like the CPU or the motherboard, so you’ll have to approach them carefully to choose a balanced laptop.
There are 6 main things to consider when choosing a laptop for programming:
One of the main benefits of a laptop has to do with its portability. Today, laptops are now powerful enough that they can be used for web development and coding. Many of the professional web-developers have admitted that they haven’t used a desktop in years as laptops offer the flexibility to conduct their work from anywhere.
Provided you have enough battery and a strong Internet connection, laptops allows for a way to work even when you travel. Certain programmers work within groups. In these cases, laptops are the ideal choice.
When hearing the phrase “operating system”, Windows is most likely the first thing that comes to mind. In fact, most of the people don’t even need to know about other operating systems. However, you may want to go for something other than Windows if you have some specific needs.
So, the 3 most commonly used OSs nowadays are Windows, Mac OS, and Linux. Each has its own benefits and disadvantages.
As a programmers, you might often find yourselve in a situation where you have to switch over to another operating system. You probably need to run Linux on Windows PC or run Windows on Mac. In these cases, you need to ensure the machine you are working with has sufficient RAM in order to do these things.
And when you are using a VMware (virtual machine) like Parallels, Boot Camp, etc., to boot the next OS as a virtual-machine. You will have the options to go with which includes Linux, Windows, or Mac dependent on your software requirements.
Programming is mostly text manipulation, it isn’t a very resource-intensive job. Most of the computer components available on the market should provide a programmer with all the resources they need.
If you're a student, save your money, buy the affordable one and getting started with your web development skills is the most important thing. You won’t be needing to get high-end components, you won’t need to spend much money on a computer.
If your budget is very limited. You can save money on power, but don’t save on comfort. You may have the best workstation in the world, but if your eyes get fatigued and if your wrists hurt, you won’t have a good programming experience. On the money saved on the performance, you could also get yourself a good desktop and a chair.
But in the end, it is your requirements that decide what kind of a machine you need. If you are making a living with programming, then it would make sense to get an excellent computer for your tasks.