MacOS was first released in 1984, which makes it even older than Windows. At first, it came to light as a graphical user interface, but in 2005 its design and structure were changed to Intel x86 based architecture. Apple’s computers are great pieces of machinery – that’s beyond debate. But why are they so popular among programmers?
This year Stack Overflow’s Developer Survey showed that 26.8% of all programmers and 29.2% of professional programmers use macOS on a daily basis. Having in mind the fact that Macbooks are more expensive than PCs s those numbers are not so bad, aren’t they?
No matter if you love Windows or prefer macOS, it is really hard to ignore the fact that Macbooks have some limitations. Small user base, limited application, and high prices are the obstacles that won’t allow Apple’s computers to be as popular as machines running Windows, but still, it doesn’t mean that developers stay away from them. Contrary. Why? Read this article and find out!
🍏Security & quality
Macs are said to be safer against malware, viruses, and other types of malicious attacks. Macworld reports that since Apple’s Mac operating system is built on Unix, Macbook computers are by default a little more secure than PC ones, which is crucial when it comes to programming work.
🍏Unix command line
For the last fifteen years, macOS operating system has been built on top of Unix, which is the command-line that powers a huge part of the world's filesystems and servers.
MacOS X is certified as Unix by the Open Standard Groups, which didn’t happen to even modern versions of Linux (such as Mint or Ubuntu) –they’re based on GNU instead of Unix.
“A MacBook offers the perfect combination that allows me to do wildly different kinds of work one minute and the next, without having to connect to external systems or to load a plethora of virtual machines for each situation.
At its core, macOS is a Unix system that is also easy to use and “just works.” Unlike more traditional Unix systems (Linux being the most well-known variant), macOS lets me get to work with minimal fiddling and setup time.
There is a ton of developer software that works right off the box, and because it’s a Unix system, it comes with myriad tools that can be combined to accomplish complex tasks. Getting a new machine in the morning and knowing that I can have everything I need up and running in a few minutes is huge for me.”
The combination of Unix with regular computing devices seems to be at the heart of many programmers.
MacOS has a native UNIX environment, which is used by a majority of web servers. And it’s an obviously better idea to code on a machine that runs on the same environment. In simpler terms – after deploying, the applications you developed on a Macbook will run on other devices in the exact same way as on the initial server.
“After nearly eight years of development on Mac, I believe that the development environment of the Mac is excellent, and it is user-friendlier in configuring various programs, and there is no need to load too many things manually. Many of the tools that developers use come from Unix and the power of UNIX is very comfortable to use.”
– Lish, Developer @ WonderShare
Macbooks have access to the 3 major internet browsers, which means testing new web apps on these is never an issue. Additionally, the Web Inspector of Apple’s Safari can easily connect to an iOS simulator, allowing developers test these apps on iPhone and iPad-like interface..
Macbooks also play host to a number of text editors, including, BBEdit, TextMate, SublimeText, Atom or SubEthaEdit, which has Google Docs-like live collaboration features. The macOS range also has access to specialized developer tools, eg. source control GUIs (Cornerstone and Versions for SVN, Tower and SourceTree for git), file comparison and merge tools (Kaleidoscope), GUI design helpers (xScope), quick-lookup documentation viewers (Dash), and file transfer tools (Transmit). And when the coding work requires access to different development environments, you can always use a VMware Fusion or Parallels Desktop.
“(...) as an iOS developer, I am forced to use a Mac, but honestly, I wouldn’t have it any other way. When you’re dealing with thousands of lines of code, debugging and solving complex problems, you need to trust your machine. More than that, you need to trust the system you are operating in.
I’ve always felt that Apple forces you to do it right the first time. While this may be a bit frustrating, you are grateful for it in the end. From learning Objective-C to now Swift, Apple has a way of extending its elegance and pristine quality into the coding experience itself. I shudder to think what it would be like coding for a Windows device on a Windows PC, no thanks!”
When being a Macbook owner, you can easily run all the main operating systems, which is a big plus for people that learn programming. It’s not a big effort to create and test software for Windows and Linux on macOS computers, meanwhile it is rather difficult to run OS X on a Windows or Linux PC, and even if so, there’s no official version to use.
If you want to develop iOS or OS X software, you need a Mac. If you want to test websites in Safari for Mac, you need a Mac too.
Piaw Na, the author of An Engineer's Guide to Silicon Valley Startups, explains:
"Let's say you're building apps for iOS and Android. Well, you can't build iOS apps on any OS other than macOS, so you're stuck with a Mac. You can build Android apps on macOS, so you end up with a Mac."
Developers are likely to say that the Apple’s force touch trackpad is a luxury they would never leave. Also, Mac screens handle glare much better than mirror-like touch screens of most of today’s PCs, which is a huge pro when it comes to outdoor coding or working in a plane, car or train. The thermal qualities of Mac’s aluminum chassis combined with the efficiency of Macbook operating system guarantee that Apple hardware runs cooler than PCs.
🍏Old machines vs new operating systems
You can happily run Apple computers on the latest versions of macOS, but that’s a lot harder thing to do on Windows. PC manufacturers often produce a device and then forget about ongoing driver upgrades and bug fixes, which obviously doesn’t help when you’re a programmer.
Apple provides the whole solution, so they are kinda obligated to provide support as well. Most developers are perfectly capable to troubleshoot their computers, but sometimes it can be nice knowing that you can count on people who know the system inside and out.
While the high cost of entry is a major obstacle keeping Macbooks out of reach for students and beginning developers, if you can afford a Macbook, you should consider making it your next programming device. Because when it comes to hardware that makes you money, we at Asper Brothers believe there’s a need for the best equipment money can buy.