I’ve used various combinations of Linux, Windows and Mac.
For many years Linux was my preference on personal machines but I’ve since switched over to Mac.
Mac: You’re going to pay a premium for the hardware... But you know the hardware support is going to be there and generally it just works. It’s BSD origins mean that it’s still close enough to Linux to have most of the same tools available. I used KDE for a lot of years and find MacOS a little more polished. If you’re using other Apple devices such as iPhone it also integrates really well. Probably the only Mac specific app I’d miss if I switched would be Sketch. Last time I checked there wasn’t a decent Linux equivalent.
Linux: massively flexible and configurable. Free. Can be a bit harder to get some hardware to work. I’ve had breakages with system upgrades (KDE 3 to 4 was especially painful. Tends to be the most performance. If you’re using Linux on the server then it obviously integrates really well. If you need to use the Adobe apps, of MS Office then you’re going to need to use VMs or wine on Linux.
Windows: You’re going to pay a premium for the OS license. Getting a good dev setup if you need to work cross platform has historically been difficult. The terminal hasn’t been as good as Mac and Linux, and getting a working web stack that accurately mirrors production can prove challenging. Thankfully modern Microsoft is embracing developers and things like bash and WSL make it a much friendlier environment for developers than it used to be.
Summary: if your dev env (docker), IDE (VSCode/Jetbrains) and terminal (hyper.is) are cross platform then the decision comes down to your org’s policies or personal preference. They are all capable for 90% of developers.
Thank you very much for this extensive reply! Actually, after experimentally working on Linux for a few months, I find that the biggest struggle is software/hardware support. There are very few so polished alternatives to the best modern industry software and also it's often a lot of hours spent to configure some new hardware that "Just Works" on Windows/Mac.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.