I've been a Linux user since 2007, and since that time only used Windows sporadically - mostly on other people's computers. The long experience with Linux has allowed me, however, to spot some flaws that have for some reason gone unnoticed by the developers and even by the users. And since no one else mentions them, I will be happy to take on that job.
One of the most common reasons people are reluctant to switch to Linux. Needless to say, in Windows games just work - while the less said about Wine, the better. Nothing has made me rip more hair out than fucking Wine - it had problems running even 20 year old games. Sound or videos not playing, color distortions, random crashes are just some of the issues I've encountered. I've even had one very old game fix itself into a really small window size for some reason. And this is regardless of the convoluted WineHQ "solutions", which rarely actually work - that is, if your game is even there. Frontends to Wine just reek of desperation - PlayOnLinux keeps a different Wine version and configuration for every fucking game - talk about inefficient. And of course, only certain games are supported. If more developers coded games with Linux support, this wouldn't be such a huge problem - but for now, the massive advantage Windows has cannot be denied.
When you run a program through the panel or start menu in Linux and it fails for some reason, you are not notified at all. You have to run it through the terminal if you want to see the error messages - that, however, does not mean they will be human readable. It should be simple for Linux to bring up a dialog box if a program does not launch properly - after all, Windows has been doing that since at least 98...
In Linux, "help" means reading barely intelligible man pages - and even then, you have to know what you're looking for. Though some distros do have real help, it's online and usually low quality anyway. What remains for a newbie user are elitist internet forums that will tell him to RTFM (which doesn't exist). On the other hand - Windows, since at least 98, has included a great, interactive help tool that can diagnose and fix problems with audio, graphics, internet, everything.
Who here has gone without ever breaking his Linux system? Raise your hands...okay, I don't see anyone. Windows keeps several snapshots of your system so that whenever you break it, you can just bring it back to some point in time when it was still working. Linux offers no such functionality - you're going to have to dirty your hands and fix the breaks manually (however, sometimes it isn't possible, like if you fuck up glibc). A common criticism is that the snapshots would take a lot of disk space - however, Linux could keep a list of packages that were changed during the last day, for example - and offer to reinstall the old versions. But it offers nothing like that at all, which is a big flaw compared to Windows. This is regardless of whatever criticism might be levelled at Windows' System Restore - at least it has something compared to nothing whatsoever in Linux (update: some of the newer distros, such as MX Linux, apparently do have similar functionality, but I didn't try them out).
The way you install software in Linux is through packages - of which there are many variants, all incompatible with each other. RPM, TGZ, and DEB are the main ones, but some niche distros have their own. To install those packages, you need to find them in a repository, of which there are - again - many. Then you have to hope that the repo contains what's called dependency information, which tells you which other packages does your software require (but often, it's just the maintainer who THINKS a package is required when it isn't, introducing bloat into your system) - if not, you'll have to hunt them all down yourself. That is, if the package is even available for your platform - remember that the developers have to first actually release the packages, which takes work that small software often can't afford. If it's not, you will have to compile from source - black magic for a recent Windows refugee. Even if it is, there's another problem - some packages will require different library versions - killing the supposed advantage of dynamic linking and making things harder for the user (who now has to downgrade his shitlib or manually install two versions at once). God help you if your software requires a new glibc or something. Repos are a fine system in general if you know what you're doing and can afford to spend some time - but the Windows system of just running install.exe has its advantages as well (which Linux is now realizing with the inclusion of AppImages and such - but again, had to screw it up by also making certain packages exclusive to Snap, Flatpak, etc. that aren't even available for many distros).
Now I don't know too much about this, but Linux does lack suitable replacements for certain programs, according to the people who use them. Some commonly mentioned ones are AutoCAD, Photoshop, as well as video editing software. Others - which I'm more familiar with - that are also way inferior to their Windows counterparts are: CD ripping software, emulators (Visual Boy Advance hasn't been topped yet, and the available Nestopia ports are gimped), TegraRcmGUI which is way superior to fusee-launcher, etc. It doesn't even have a program for ripping out the data from video game archives, while Windows has a bunch (Dragon Unpacker, Ravioli Game Tools...). Not to mention the glorious Microsoft Paint, which Linux has had to directly copy with KDE's KolourPaint (users of other window managers be damned?). Truly, Linux has a long way to go before matching Windows in this category.
By default, Linux doesn't really care about your security or anonymity (unless it's a niche distro like Qubes or Heads) - any application can do whatever it wants within the permissions it's been given (e.g keylogging, phoning home, auto-updates, or even wiping out your /home directory). Despite the Freetard narrative that Linux is super secure purely because it's open source, it is not insurmountable to insert a backdoor even in a very popular piece of software. Lots of programs have millions LoC and most developers are not security experts, so it's unlikely a well-placed backdoor would be detected. Heartbleed, for example, was around for two years before being found, and there's some evidence it's been exploited for all that time. It takes ages to implement security features in FOSS, even if a bounty is offered. As far as I'm aware, no XMPP client supports OMEMO properly and in full, even though it's already five years old.
With all the hoopla about spyware, you'd think tackling that issue would be a priority for any sane operating system. In Linux, any application can connect whenever and wherever it wants to, while you are none the wiser. Recently, some solutions such as Open Snitch have appeared, but they are error-prone (hey, it's a python program...), not included in distros and usually not even packaged. Windows has had better firewalls like ZoneAlarm for a very long time - why is Linux still in the security stone age?
I remember my first computer...it had Windows 98 on it, and of course, as a child I undertook the adventure of exploring it. Checking out all the different wallpapers, icons, cursors and screensavers (that it had by default) was great fun. Then, 7 or so years later I went into Linux expecting the same thing, but it wasn't there - and still isn't. Sure, you can change themes in XFCE for example, but they're all gray and boring. Creating your own GTK theme is a nightmare, while Windows has an easy to use color editor. Linux icons are same old same old - forget about flowers or things like that. You're lucky if you get a wallpaper that isn't a penguin or the distro name by default. Every theme in Windows had different sound effects - many Linux distros don't have any at all. The icon system is structured terribly - each theme has its own icons stored in a separate folder. When you switch themes, all the icons you've chosen in other software will be replaced by that theme's ones - and if that theme does not happen to include them - an ugly placeholder will take their place. A better system would be to just put them all together in the icon chooser so that a direct path is used (you can still do that but good luck navigating the mess of the icon folder structure).
Yeah, yeah - Linux users are expected to use the terminal sometimes. This doesn't excuse the lack of basic tools though. For example, if you want to configure OpenVPN connections or keymappings, you're going to have to get your hands dirty (and deal with the terrible documentation while at it).
Regardless of freetard screeching to the contrary, this issue is not avoided. It is very easy for a big corpo to make software which eventually becomes a dependency of most other software - then to start including harmful things in it. Quoting from https://fosspost.org/opinions/are-gtk-developers-destroying-linux-desktop-with-their-plans (archive):
For example: if you have a GTK+ theme that works with GTK+ 3.18, it will not work with you on GTK+ 3.20, If you developed your application by using the GTK+ 3.14 library for example, it may suddenly stop working in GTK+ 3.16 because the developers removed or updated some API bindings
they will break the API and ABI compatibility every 6 months, this means that the GTK+ themes developers and all 3rd-party applications developers will need to check their applications code every 6 months and replace it
This is going to break a lot of applications for desktop users and will cause a lot of headache for third-party developers and even for other Linux desktops like MATE, Xfce and Cinnamon.. etc. And the GTK+ development team doesn’t really seem to care much about it.
An even more egregious example is systemd. Quoting from http://www.softpanorama.org/Commercial_linuxes/Startup_and_shutdown/systemd.shtml (archive):
Systemd is becoming the Svchost of Linux -- the component which most veterans Linux sysadmin do not want to use, but which is enforced by Red Hat dominant position in Linux world.
If you try to browse systemd related articles you will see that the most active resistance occurred in 2014-2015. After that is dissipated to a very few discussions.
Most major distributions such as Suse and Debian adopted systemd because of Gnome.
So the sequence is: make GNOME require systemd, forcing all GNOME distros to include it. Now make systemd swallow most functionality of specific programs (archive), making all other distros dependent on it. And we end up with a situation where Red Hat controls Linux development, and can fuck up all GTK using programs as seen above. UPDATE December 2020: one chat member made me aware of yet more evidence of Red Hat's involvement (in gtk4 contributions):
For all of Windows' faults, it for sure benefits from at least one thing - it is consistent. If you know how to use it here - then you can do the same there, and elsewhere. On the other hand, Linux is a bunch (really, hundreds) of distributions which differ in philosophies, target audience, installation, available functionality (e.g FDE) by default, intended usage (server-only, live USB only, gaming...), type of package manager (different ones are incompatible unless your distro is from the same family - many now choose to roll their own), default software. All of this might be fine for an expert, but will end up just causing confusion for the newbie - overwhelming them with an avalanche of possible choices and leading to the dreaded distrohopping which can last for months. Every Linux fanboy - of course - has their own favorite distro; but will rarely give any concrete reasons for why that is - leaving the newbie further in the dark. Though a lot of stuff, in the end, is similar between distros - you still often need to get help for your specific one, especially if you are trying out the niche ones (Void, NixOS - which will, of course, have much less users).
Worse than that - even if the person has finally settled on a distro - there's still incompatibility between the insides of it! An example which almost provides itself is GTK3, which changed everything from GTK2 and made programs dependent on the two versions look and behave completely different. Even the file manager bookmarks you've painstakingly set up in GTK2 will have to be done separately for GTK3 programs. Theming your system - which used to be a piece of cake - is now insurmountable for anyone but the most dedicated person. Assuming you do bother to grasp the fucked up GTK3 theme engine - you'll still need to make two different themes and stuff won't be consistent regardless. Perhaps you're using a KDE distro, which adds yet another toolkit (Qt) and makes things even worse (since not all GTK software has good KDE replacements). Then, there's all the other stuff such as the various ways you enter parameters for a terminal command (- versus --, having to specify -o for output versus just the filename, = in dd or exiftool, etc). Every shmuck in Linux has their own special snowflake way of doing things, it seems. Of course, when Linuxfags try their hand at unification, we end up with abominations like systemd (which has ironically increased the fragmentation when stuff - including whole distros - started depending on it) - so maybe it's better the way it is.
Does this mean Windows is superior? Obviously not - its issues outnumber Linux' by about ten to one - but the advantages it does have must be mentioned, and rarely are. The Linux community has too many fanboys in it, and they will often attack any suggestion that something might be improved, so this article should serve as a cold shower for those people. Note: some distros do better than others in the issues I've mentioned, obviously (but often replace them with other issues - I couldn't get certain bash scripts to run on MX Linux that I can on slackware, for example). And of course, choosing a distro is a struggle in itself that Windows users don't have to deal with.Back to the front page