Windows 10 vs Ubuntu 18

As of this month, Windows is still the dominating desktop / laptop OS globally with 88% market share. Windows for me - and for most users, has always been the default. However, coming back from a Linux environment I realized this: Windows is not that great of an OS.

As many other people, I grew up with a Windows PC in the house. It was only later in my study life and during my recent jobs as a systems administrator that I have switched to linux. Recently I bought a new laptop and it had Windows 10 on it. I didn’t need it, but the reseller told me it comes as a package, I couldn’t get a discount for having the license removed.

So why not return to my old pal, after only a few years of using Linux, right? Right…

First up, Windows is lacking a package manager. Downloading .exe files from the internet and installing them manually… I mean what year is this? Every other distro or project has its own package manager even for unofficial contributions (python’s pypi, javascript’s npm, ubuntu’s ppas, docker’s dockerhub, etc.).

The download-archive portion of http://www.chip.de is really a functionality of the past. Package management, please!

Second, it’s lacking a good shell for power users. cmd.exe is laughable, Powershell is a failed product, throwing StackTraces in eye-piercing colors at me left and right, and the Windows Subsystem for Linux (WSL) has a terminal, for which you cannot disable the terminal bell. Imagine the madness of constant bell ringing! Additionally, you discover the limitations of WSL in situations where you really don’t want to.

Windows now has all the capabilities of Linux with WSL? Nope. For example, you cannot start a WSL application on PC startup in the background. A normal thing for a user to want to do, but no worky-worky with the WSL. One of the first things I wanted to do, syncing some files from my phone to laptop using some bash in the WSL, failed. There are a bunch of tricks you can use to get your USB device into the WSL, but it didn’t work with my phone. I assume because it’s doing some kind of file-streaming, instead of being a normal, dumb USB device. But I don’t want to dig deep into this - I expected functionality.

Third, python doesn’t work well on Windows. As of this month, python is the language with the highest marketshare globally with 29%. My stab at using python with Windows failed miserably. Installing it was fine, using the REPL was fine, installing a .whl file of my own package? Nope.

python -m pip install dist\filesync-0.1.0-py3-none-any.whl Requirement already satisfied: filesync==0.1.0 from <C:/Users/Felix/Documents/Projekte/Programmierung/Python/filesync/dist/filesync-0.1.0-py3-none-any.whl> in c:\users\felix\appdata\local\programs\python\python36\lib\site-packages (0.1.0) > python -m filesync C:\Users\Felix\AppData\Local\Programs\Python\Python36\python.exe: No module named filesync

People on the internet generally agree, that Windows is a poor choice of OS for python programming. You can use Visual Studio Code to programm python on the WSL, but what if you’re programming a tool for your own day-to-day usage, some kind of helper script? If you’re unlucky you will still have to install this on your main Windows OS, leaving you with all the obstacles you tried to work around.

Last but not least, emacs doesn’t work great on Windows. The recommended way is to have it run in the WSL and connect it to an X-server on the main OS. This is just not great. The user experience is really poor.

All in all, thanks for reading, and I’m now reinstalling my laptop. Goodbye Windows!

comments powered by Disqus