As a developer, one of the primary decisions to make is which operating system (OS) to use. Just a few years ago, there were a mere handful. Today, with the onset of the digital age, operating systems abound. And the list is growing. Let’s look at three major operating systems – the pros, the cons and what to consider when choosing which OS to use as a dev.
What Is an Operating System (OS)?
According to technopedia, an operating system is “a software that allows a user to run other applications on a computing device…the vast majority of applications are written for an OS, which allows them to take advantage of common libraries and not worry about specific hardware details.”
In layman’s terms, an OS is the means by which users of computing devices like desktops, tablets and smartphones can “communicate” with that device, without necessarily knowing how to “speak” the device’s language. Without an OS, processing anything using a computing device would look like something out of The Matrix, with endless lines of code – it would only make sense to programmers.
Think Microsoft Windows (Windows 10, Windows XP for example), macOS (Apple) and Android. These are just three examples of an operating system.
Which Operating Systems are the World’s Developers Using?
The 2018 Stack Overflow Developer Survey asked 100 000 developers from over 150 countries to complete a 30-minute survey.
One of these questions was what time developers wake up in the morning. The result? Most devs wake up between 07H00 and 08H00, which negates the stereotype of the caffeine-addicted, nocturnal vampire-esque dev. Although we’re sure those exist too.
Another key question the survey asked was which operating system developers are using for desktop development. Windows led the way, followed by macOS and then Linux, demonstrating that just as in recent years, Microsoft is still leading the pack. Apple, Microsoft and Linux seem locked in an eternal battle of wills, but the defining gap between them, is slowly closing.
Why Some Developers Prefer macOS:
According to Macworld, for the last 15 years, the Apple OS has been built on top of Unix, which, according to Jessica Su, a CS PHD Stanford student, was a significant development for programmers. Why? Because according to Su, “It lets you run programs in almost any language without using a specialised IDE.” Most tech companies require their employees to work on Unix-based systems, so working with macOS, may increase the career prospects of developers.
Software developer, Christopher Miles, argues that programmers and coders love macOS because of the build quality of Apple machines. According to Macworld, a big plus for macOS is its cross-platform compatibility. Running macOS on a Windows PC is a near impossibility for most, but on Mac, you can easily install Windows or Linux. This means that “if you have a Mac, you can create and test software for Windows and Linux from inside it.”
Why Some Developers Prefer Windows:
According to RJ Systems, there are a number of advantages of using Windows as a developer. One of these advantages includes ease of use – everyone grew up using Windows and the interfaces that we worked with back in the day, are still recognisable today.
Evidently, Windows is doing everything it can to retain its loyal base of developers. Developer Mode in Windows 10 allows programmers to test apps, change settings and navigate some advanced features that aren’t accessible to everyday users. Essentially, Windows Developer Mode is an OS extension or value-add function that brings a unique user experience element to Windows for developers. Finally, a developer interface that makes sense in terms of functionality and in terms of its aesthetics. A wide range of support is provided for developers, which is a big pro, and one of the main selling points that attracts devs to the Windows OS.
Linux: A Worthy Alternative?
Ofir Chakon, data hacker, entrepreneur and engineer, dedicated an entire blog post to his experience of switching from Windows to Linux. His conclusion? Linux is his OS of choice as a developer, for a number of reasons. Referring to the Linux distribution, Ubuntu, Chakon suggests that:
- Linux runs faster than both Windows 8.1 and 10. After switching to Linux, Chakon’s processing speed increased exponentially.
- The fact that Linux is a free, open-source software is something that many devs list as an advantage. Open-source software is tested, tested and tested again by a wide range programmers so it’s easy to tap into a support network for answers to questions you may have. Valuable opinions are openly and freely shared and the open-source community develops organically.
- According to Chakon: “If you are a developer, the terminal is the sweet spot. It’s a huge productivity booster. By using the terminal, automation becomes a game changer.”
- Most servers are Linux-based so it makes sense to use a Linux-based OS.
Where To Next?
There is no easy answer to the question: which OS should developers use? As with most things related to programming, it’s all relative. Which OS developers choose to use will depend on their choice of occupation, the functionality requirements of the platform they are building, and their level of experience.
Speak to an expert at HyperionDev if you want to upskill yourself as a developer and learn more about the pros and cons of different operating systems.