Have you ever come across a coder working? Perhaps while getting morning coffee at a Starbucks, you may have seen a computer screen like this: white text, black background, and lots of words that probably make no sense to a bystander. But why is it that these people often work on Macs? To explain, I have to go into some history on programming.

Around 1970, the world received two technological developments that shaped programming of our modern day. These were the lingua franca programming language C, and the popular operating system UNIX which was written with it. Since then, C has become and remained one of the most popular languages. UNIX, however, was a proprietary system and was not accessible to the common user. For that reason, groups such as the Free Software Foundation (FSF) started rewriting free versions of UNIX software in the 1980s. These efforts were combined with the Linux operating system in the early 1990s, and became the popular open source GNU/Linux ecosystem of today, just in time for the dotcom boom.

When the World Wide Web spread, open source software popularized in tandem due to its accessibility and availability. Examples included the popular web server Apache, the web programming language PHP, and the open source database MySQL. This software, again due to availability, was used on GNU/Linux and together made up the LAMP stack. These technologies continue to power a large percentage of web applications today.

When developers work on a local copy of code on their computer, they try to mirror the components of a live system closely for compatibility. So in part, the preference is due to this legacy — both for compatibility, and to be able to run on a familiar system. Mac is also a UNIX system under the hood, and offers many of the same command-line utilities available on any UNIX that are useful to a programmer.

Other common reasons that can’t be overlooked, of course, hardware (speed, battery life, etc.), software compatibility (Apple makes both its own hardware and software), and simply community preference.