I keep using Linux because it has a real file system, fails less often, and feels faster (maybe because of a better scheduler), but the blog writer has a point.
Documentation on Linux is sparse and incomplete. You talk about man pages: more often than not, I am looking for some feature and cannot find it in the man page. At the end, though, I see the following:
> The GNU folks, in general, abhor man pages, and create info documents instead.
Guess what? The feature was in the info page. And that's when things are good, because sometimes the info page doesn't exist.
Since each component has its own conceptual model (and config file format), configuring one system gives you little information about how you would go about configuring another system. You often end up with contradicting config instructions in different files, and knowing which takes precedence is impossible, unless you are the developer (and even then…)
As a result, you can't just sit down and learn everything, even if the documentation was there. You can't drink the ocean: it never ends.
All of that would not be an issue at all if we had a way to automate the annoying parts:
- A way to search through all configuration files, a way to search through all documentation on all systems.
(I can't believe that Googling it is usually better than searching through installed documentation!)
- A better package management than dpkg / apt. This system gets old fast.
Conflict resolution is awkward, big updates can break things.
Projects such as Nix and its spiritual successor Guix make me hopeful,
but will it ever displace the elephant in the room?
It's particularly painful to watch from my node.js background. Never had a single issue with npm.
Apple's OS is lacking on both front (and the author will soon realize that, at least once he installs Homebrew and fiddles with BSD's lesser set of tools).
The only praise I can make is its standardized plist configuration system,
which is awkward to use and which most cross-platform programs ignore anyway.
However, Apple feels better because its defaults are amazing.
For instance, I tried to install NVIDIA's proprietary drivers today, because Nouveau only goes so far.
Installing it was easy; debugging it was so hard that switching back to a lower standard (Nouveau) was the best option.
Apple has the better option in by default.