Why do coders and developers prefer Mac OS X?
Travel back in time 15 years and the idea that Apple would make the best operating system for developers would have sounded faintly ridiculous. Before OS X arrived, and Apple switched to Intel, Microsoft had the developer market sewn up.
Of course, Apple computers have always been great machines to learn to program on. But most developers would still be in either a pure Unix/Linux environment or - more likely - Microsoft Windows.
However, In Stack Overflow's 2016 developer survey, OS X topped the most used Desktop Operating System, followed by Windows 7 and then Linux. StackOverflow says: "Last year, Mac edged ahead of the Linuxes as the number 2 operating system among developers. This year it became apparent that trend is real. If OS adoption rates hold steady, by next year's survey fewer than 50% of developers may be using Windows."
Why programmers think Mac OS X is the best OS to use
Dmitri Zagidulin, a distributed systems engineer, sums up the change: "Go to a tech conference or developer event. Look around you... and just count the number of glowy Apple logos on those laptops.
"At Amazon AWS conferences, at game programmer conferences, at Node.js and Ruby on Rails events etc etc. It's about 98 percent Macs. And mine is among them, as much as I've resisted and kicked and screamed all these years."
The presence of so many Apple Mac computers at developer events would baffle coders from years ago, but these days it pretty much guaranteed that most developers use Macs.
Why programmers & coders love Mac OS X: Unix command line
The herd switched to OS X from rival operating systems over an extended period. And part of this (a big part, according to many programmers) was when Apple released OS X. For the last 15 years Apple's operating system has been built on top of Unix, the command-line OS that powers much of the world's filesystems and servers.
Indeed, OS X is a fully featured Unix operating system (certified as Unix by the Open Standard Groups). Not even modern versions of Linux, such as Mint or Ubuntu, are certified Unix operating systems (they are based on GNU instead of Unix).
"The [Unix] shell is very important for a programmer," says Jessica Su, a CS PhD student at Stanford. "It lets you run programs in almost any language without using a specialised IDE. It's also important if you want a job at a tech company since many companies make their employees work on Unix-based systems.
"You get to learn the UNIX shell while having a computer that works. If I couldn't afford a Mac, I'd dual-boot Linux and Windows to get some of the same experience.
Why programmers & coders love Mac OS X: The combo of Unix and commercial software
Christopher Reiss, a developer, agrees. "As a developer, that's your target," he says. "A Unix command line. So what machine do you use? A Mac. So you can drop to a Unix command line and closely emulate your target server. If you have an Intel box, you'll install Ubuntu and have a perfect mirror of your server (at the cost of certain business tools like GoTo meeting.)"
That combination of Unix with regular computing devices seems to be at the heart of many developers. "Why doesn't Adobe provide Creative Suite software for Linux?" asks software engineer Tharaka Manawardhana. "Almost all the commercial software vendors provide a reliable Mac version."
Why programmers & coders love Mac OS X: Mac build quality
The quality of Apple machines plays a part. Developers spend a lot of time working with their computers, and most have pretty exacting standards.
"Their build quality is very good," says software developer Christopher Miles, "and you need to use Apple hardware to construct effectively software for the iPhones and the iPad."
"Macs require less maintenance," says hacker Roy Williams. "I used to work at Microsoft, so it pains me to say this, but it is a bear to maintain a PC, even as a developer. Things like DLL Hell can lead to hours of frustration trying to figure out why the wrong library is loading."
Why programmers & coders love Mac OS X: OS X has better cross-platform compatibility
If you get a Mac, you can quickly run all the main operating systems, which is a big plus for those learning programming. It's difficult to run OS X on a Windows PC (or Linux PC), and you need to find, and install, hacked versions of OS X. Meanwhile on a Mac, you can easily install Windows or Linux using a virtual environment.
If you want to developer iOS or OS X software at any point, then you need to own a Mac. If you want to test websites in Safari for Mac, then you need a Mac. If you have a Mac, you can create and test software for Windows and Linux from inside it.
"If you're developing for anything in the Apple ecosystem, then yes, a Mac is a better (virtually required) tool," says programmer Jae Alexis Lee. Piaw Na, Author of An Engineer's Guide to Silicon Valley Startups, says: "Let's say you're building apps for iOS and Android. Well, you can't build iOS apps on any OS other than Mac OS, so you're stuck with a Mac. You can build Android apps on Mac OS, so you end up with a Mac."
Not everyone agrees, though. "The computer you use should fit the way you think," says Paul Lemmons, Unix (AIX/Linux) systems manager. "It is a tool. It will not teach you computer science. It has little bearing at all on what you need to learn."
"The best machine for you to use at school is one that your department supports properly, " says Mark Nelson, Engineer at Cisco Systems. "Some schools may be very PC-oriented, and you will find that OS X is not well supported when it comes to VPNs, printing etc. In that case, go with the flow."
Image credit: Startup Weekend LA