Software developers need a good platform to program. A PC for programmers should have a number of features to increase productivity. Taking into account that creating a program is basically writing source code and that you will spend long hours in front of the screen, in addition to the demand for hardware resources when compiling the program, you can get a good idea of what you need.
In addition, the operating system is also another important point, since the applications that you have to develop can be for different architectures and operating systems, so doing it natively in the right one will allow you to perform better tests. To satisfy all the needs I have included the three main operating systems.
What should I take into account to choose the best PC to program?
To make you feel with your development team and you can program without problems, these are the keys to choose the best team.
You will spend a great deal of time looking at a screen while writing code, as well as looking for possible syntax or typing errors in your IDE or text editor where you usually write the code. Therefore, having a large screen with a good resolution is not only more comfortable, but your eyes will thank you. Also, if you have multiple windows open on the screen at once, it can be beneficial if it’s not too ridiculous a work surface.
In case of being a desktop PC, it is best that you have a screen of at least 23 ″ and FullHD. If you opt for a larger screen with a higher resolution, such as 4K, much better.
If you go for a laptop to develop, then the size options are much more limited. But I do not recommend the 13 ″ equipment, it is preferable that it has at least 15.6 ″ or 17.3 ″. It seems very “cool” to have a small ultrabook, but it can be a hassle when you write large source code or need to have many items in view at once.
To run any IDE or text editor environment to write in, even an old processor can do the trick. They are not overly demanding software. The problem comes when you try to compile the source code and generate the binary. In that case, the processing power will determine whether it takes minutes or hours. And having a good CPU can make a difference.
You can choose any current Intel or AMD microprocessor, although if you are interested in optimizing the software for a specific microarchitecture you may need one or the other specifically. For example, if you need to use some instructions from a specific set, like the AVX512, etc.
In the case of cross compilation, it certainly wouldn’t matter too much, since you are compiling for a different architecture than yours and you simply need speed so it doesn’t take too long. For example, when you use Android Studio to create mobile apps with ARM.
In case you create programs using parallel programming, you may be interested in an Intel Xeon, an Intel Core i7 / i9, an AMD EPYC, or an AMD Threadripper (now Ryzen 9). These processors have a higher core count and therefore better than the other series for testing your parallel programs.
Check Also: How much RAM do I need?
Something similar to the microprocessor happens. For the IDE or the text editor with which you enter the code, a minimum capacity of RAM would be worth, but not when compiling or executing certain emulators (eg in Android Studio), or virtual machines where to test (if you need them). In those cases, the demand would be higher.
Here it may depend a little on what you need in each case. Some 8GB might be enough for some who create simple programs, and for other programmers they would need more. To be useful in most cases, I would recommend at least 32GB of RAM. Even more so if you plan to use graphics engines to create video games.
Check Also: What is Cache Memory & How to Remove it
The GPU can seem like practically nothing or nothing matters to program. And it is true in some cases. But if you want to develop video games and you have to work with graphic design and graphics engines, the graphics card becomes somewhat more critical. So in case you want to develop and test video games, you should mount a decent graphics card for gaming.
Another case where graphics becomes important is if you are going to develop code for GPGPU, that is, to use the GPU for general purposes using OpenCL, CUDA,…, or for AI, etc. In those cases, you should look at AMD and NVIDIA cards for professionals or accelerators in case you want to create specific code for these types of products. I mean models like AMD Radeon Instinct, AMD FirePro, NVIDIA Quadro or Titan or Tesla, Intel XeonPhi, etc.
The keyboard is the tool that you will use to enter all the hundreds or thousands of lines of code that you need for your projects. Therefore, choosing a comfortable and reliable keyboard is essential. Gaming keyboards are usually good options, so you can opt for these types of models even if you opt for a laptop, you can buy a gaming model or use an external keyboard.
Some examples of good keyboards for entering text are the Corsair K83, Filco Majestouch-2, Logitech Craft, Roccat Vulcan 120 Aimo, etc. And remember that ergonomics can prevent you from going through times of pain or problems with your health by straining your joints….
The operating system must be a secure, reliable, robust, stable platform and, if possible, be the native platform for which you are developing, and thus avoid using virtual machines or emulators to test the software. Obviously, the three options you have are GNU / Linux, Windows and macOS. Although if you develop for another operating system, you can choose the one you want: ChromeOS, FreeBSD, Solaris, etc.
In this aspect it is a question of needs. It depends on what platform you are creating for and maybe you are interested in one OS or another…
Check Also: How to split screen in Windows 10
In the case that it is a desktop PC, this section would not make sense. But if you have opted for a laptop, although to me personally they do not seem like the best development platforms, it may be that for any particular reason or need you have to use it, then it should have a good autonomy so that it does not leave you half-way at the least moment indicated. Look for models with a large battery capacity and that last the longer the better.
The best settings for programmers
Here you have some good PCs for programming according to the type of programming that you are going to develop, taking into account the most widespread requirements without going into too specific configurations such as GPGPU, etc.