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.
Sign up for CIO Asia eNewsletters.