Did you know that you can navigate the posts by swiping left and right?

There is no ideal OS for a programmer

31 Oct 2016 . category: os . Comments
#windows #linux #macos

There is no OS that is ideal for a programmer both at work and at home.

I write from a JVM developer’s perspective, but it’s probably similar for all non-.NET languages.

Windows

  • The most popular one.
  • Great for home use, no doubt - it’s tuned for that.
  • For work, it isn’t from the Unix family and has no central repository of development tools. Meanwhile most servers run Linux, which is cheap, reliable and tuned for constant work.
  • Everything you need for work is there, but it isn’t easy to set up and maintain…
  • Windows 10 has virtual desktops, at last!

Linux

  • Very good for work. What you learn here, you use on servers too. Tools are easy to install and maintain.
  • It sucks for home use… The desktop isn’t well tested. It shares its heart with servers, but that’s not enough, and from time to time you need workarounds.

Fancy features that development doesn’t need depend on unpaid developers. If they haven’t built what you need, no company will do it for you. Unlike Windows, Linux has no big group of users who pay for… anything.

macOS

  • The best compromise between work and home. It’s designed for regular users and it’s Unix-based.
  • For work it’s a bit worse than Linux. The default software sources are tuned for regular users, not developers, right?
  • 3D gaming, hardware support, a great non-development experience - it’s all there for you.
  • Apple sets global trends with its products.

But…

  • You have to learn a new keyboard layout. Ctrl is Cmd, Super is… argh, changing habits is hard.
  • It’s so expensive. In Poland it’s even 30% more expensive than in the US.
  • Big user communities exist only in rich countries. Want a gadget? Ship it from the USA.
  • Apple delays new features on purpose, for profit. Touch ID came to Macs 12 years after the first fingerprint readers appeared in laptops, and 3 years after Apple put it in the iPhone.
  • Hardware not designed specifically for Macs often doesn’t work with them. That raises the price of the whole setup.
  • No numeric keypad in 15-inch MacBooks. If you don’t like the keyboard, well… you can use an external one ;P.
  • In 2016: do you want Touch ID? OK, then say goodbye to Esc and F1-F12… Why? Because here a developer is a second-class citizen, and regular users benefit more from a dynamic touch panel. Lenovo’s Windows laptops have a similar story with the F keys.

Now you see

There is no clear winner. If you have found a better solution, please share it in a comment.

For now I use Windows 10 and Linux (Ubuntu with Unity or MATE, Ubuntu Server or CentOS). With some virtualization skills and spare RAM, I get the best of both worlds.


Me

Waldemar Wosiński - Scala & Big Data engineer, father and motorcyclist ;)