If earlier most developers preferred Windows PC, due to their prevalence, now, I notice a trend of switching to Apple Mac. More programmers are turning to Macs, and for good reason. However, there are a number of nuances that raise doubts. In this article, I will describe in detail all the advantages and disadvantages of working on a MacBook, as well as give some professional advice.
Why choose a Mac for development?
Acquaintance with Apple computers, as a rule, occurs spontaneously. You may be advised by friends to switch to this technique, or you yourself will try one day and become interested. According to my personal observations, most people who have ever worked on a MacBook quickly become fans of the “apple”. But, of course, each case is individual. I will briefly describe the main advantages that the Mac provides.
- High work stability. Various glitches and software failures on the MacBook are the exception rather than the rule. If you update the system in time and monitor the condition of the laptop, it will not bring you problems. Accordingly, unexpected “crashes” of programs, freezes and data loss are practically excluded. An important point is that for macOS there are no viruses in the direct sense, except for malware, which you yourself can inadvertently install.
- Better performance. A feature of the macOS operating system is the maximum efficiency in the use of computer resources. In other words, you can count on uncompromising returns from the computer hardware to solve any problem. A lot depends on the Mac’s hardware level, but in most cases, running programs, rendering, compiling code, etc. – performed as quickly as possible.
- Excellent keyboard and trackpad. Probably, I will not open “America” by saying that the keyboard on the MacBook is the best in its class. An exception may be keyboard blocks with a butterfly mechanism, which quickly become clogged with dust. But this does not apply to new models where the problem has been fixed. In all other respects, the pleasure of comfortable keys and a responsive touchpad is beyond praise.
I will try to make this review objective, therefore, with all the advantages of Macs, it is necessary to mention some disadvantages.
- MacBook is not upgradeable. If in the old models of Unibody and Retina, it was possible to add RAM or replace the SSD, this is not possible in the new ones. Therefore, at the stage of purchase, you need to decide which equipment configuration will be enough for you.
- Some programs are not supported by macOS. In fact, such software is quite small, but it exists. If you work with narrowly focused software tailored for Windows, you will encounter some problems. However, almost all programs are cross-platform, have versions for different operating systems. The same goes for code editors, for example, for Notepad++ there are such substitutes (alternatives): BBEdit, Sublime Text, Brackets, Atom, Visual Studio Code and others.
Ability to install Windows on a Mac
If in the course of work you still need to run another operating system, for example, to test software, you can install Windows on your MacBook. The procedure is very simple and within the power of an ordinary user. After that, two operating systems will work on the computer in parallel.
Which MacBook to choose for a programmer
If you are going to buy a Macbook in 2022 for software development, I would recommend looking at the latest models. But it is not necessary to chase the latest innovations, there are excellent devices from previous years in the lineup. For example, MacBook Pro 13, 15, 16 inches with Touch Bar (since 2016). These are excellent laptops without “childhood diseases”, which, if used correctly, will not cause any problems.
For All-in-One fans, iMac 27″ and iMac Pro are recommended. And for the more sophisticated, the new Mac Pro and Mac mini models. Finally, do not forget that the latest versions of Apple computers are equipped with M1 ARM processors, instead of Intel. Also, macOS (since Catalina) does not support 32-bit applications. This must be taken into account, depending on the tasks and programs with which you are going to work.