Why not Windows

Every now and then people who want to hire me to train them ask me “why not Windows”. So, here is why.

  1. your system is not meant for programmers
    1. installing new software is a pain
    2. not all software works well (Docker)
    3. touching internals is tedious, obscured and generally made difficult
    4. system hides what it’s doing because it is designed so
    5. you do not have good tools
    6. you do not have good command line
      1. you actually have TERRIBLE command line that ANNOYS the hell out of everybody sane
    7. Name and name and nAmE should be three different things
  2. GUI is slow when compared to CLI
    1. setting environmental variable is a 3-minute endeavour (I even timed folks during my trainings)
    2. GNU/Linux or Macs have CLI as fall-back. If UI changes, CLI commands usually stay the same. Windows users rely on their GUI and if it changes (every major version) they’re lost.
  3. your system breaks standards (line endings, path separator, etc.)
  4. Windows IO, permissions and file system (you cannot delete this file, you cannot write to this directory, wait because some program that you think you closed holds this etc.)
  5. using virtual machines requires coordination between three departments, your own, your security guys and internal IT
  6. you do not have enough RAM for your system AND virtual machines AND programs that run in them
  7. I cannot help you with problems cause it’s not my system (it’s been years since I used it or even touched it)
  8. you will lose time during exercises or you will be unable to do exercises on Windows because of reasons above (or others)

Yes, it’s a domineering desktop choice, with nice GUI, great for gaming, insert your reason here. I get it. But there are reasons why I keep having troubles during EVERY. SINGLE. TRAINING. where people have Windows. So don’t. Please.

And as usual: use what you want. I think those reasons are valid, I want you to use something for technical people… but you don’t have to.


  1. Good post. Linux gives a great performance boost when we talk about coding comparing to Windows. I have often asked my colleagues why there are still using Windows for coding and usually I end up with:
    – they seem to be afraid of Linux as they always used win:( Sad but true, even among programmers
    – they would like to use Linux but due to lack of crucial apps support (especially from MS corporate tools for communication and screen sharing) they are somehow forced to stick to Windows. Even more sad.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s