Windows 10 has improved a lot compared to Windows 8/7. Previous lack of Virtual Desktops really kept me using Linux for a long time. With HyperV, Virtual Machines are faster than before. It’s heavyweight compared to Linux and slows down over time. Developers use it for the same reason why hackers develop viruses for it; a massive amount of people use it, over 80%. Also, the recent development of the .NET core standard alongside a powerful scripting language called Powershell based on cmdlets makes it much easier to build scripts for windows.
Apple. They are good. Good at keeping the consumer using their whole ecosystem; Macs, iPhones, iWatches… All of them don’t work that well (if at all) with other operating systems such as Android and Windows. What if I told you that you need to own a Mac to develop not only Mac OS apps but also iOS apps? You can write a Xamarin Forms app but still need a Mac to compile and test the app on iOS. Almost all mobile developers are forced to use Mac OS at some point. Thanks apple ☹️.
Neither Mac nor Windows have such rich support for virtual windows. Always on top, keep on all workspaces and wide variety of shortcuts make development with Linux a lot more enjoyable.
Linux = Open Source = Free. Definitely great for back-end python, ruby and php developers.
Because of different distributions, Linux is very flexible. From a Desktop Consumer Distribution such as Ubuntu to an Advanced Penetration Testing Linux distribution such as Kali Linux. This is probably why you see ‘hackers’ using Linux; you simply can’t do most of these things with Windows and Mac OS. Linux is also known to be great for its bash command line, however more recently many people are switching to Powershell which runs on all of the operating systems and is installed on Windows 10 by default.
If you’re a software developer experienced in many fields, there is not a single operating system that will ‘just’ work for you. How do you pick your OS then? You don’t have to pick a single OS. You can buy almost any computer and install all three of them. Keep it in mind however that Apple states that installing Mac OS on non-apple hardware (aka Hackintosh) is against their policies, so I’m not encouraging it.
If you’re planning to use Linux, Windows and Mac OS , consider buying at least a 256 GB SSD. It really sucks to run an OS on a HDD and trust me, 128 GB SSD is definitely not enough for even 2 systems.
However not everyone is building native iOS / Windows apps. Linux can be great for web development, but when it comes to building games with unity for example, I wouldn’t go with it. Personally, I use a Dell XPS 13 and I’m running all 3 simultaneously; Windows as my main development / education / office machine (visual studio is great), MacOS for iOS testing / deployment and finally, Kali Linux for… Social Engineering and ‘Ethical Hacking’.