Windows is a huge pain to set up if you just HAVE to get things just right. I can't count the number of times I've reinstalled Windows just because I couldn't think of any better way to get around a problem that had developed than just to start over. But if it just sorta working okay is fine, then Windows has a number of significant advantages that come from being so heavily entrenched that almost no one lacks some experience with it.
GNU/Linux is far superior to Windows in terms of actually getting things working just how they ought to be in quite a lot of cases, but 'easy to use' distros are not good examples here as they are so busy second-guessing the user and trying to keep scary decisions out of their sight that they become a nasty mess when you try to really get into and take full control over your system.
However, it's worth specific note wrt built systems that knowing exactly what hardware is in your system is a big help in getting good results customizing something like GNU/Linux, but is considerably less valuable on a platform like Windows where a lot of the elements are untouchable black boxes with few clear options to customize.
For myself, I've gone so far down the control-freak road of wanting to control how my system works that I don't use distributions at all anymore, I use the Linux From Scratch books as a starting point and build my system from sources.
It's hard to describe just how powerful this can be in the hands of someone with even a small-to-moderate amount of programming ability. I once actually patched my own glibc to support per-process alternate DNS resolver configurations back when I was part of OpenNIC. It was a simple patch that probably needed some security impact auditing before it could be used on any system of real import, but it was still a very neat thing to be able to do. On Windows, you can just specify a list of servers, and there's no way to, for instance, say "If the first server doesn't believe the domain exists, go ask the second server about it." The same is typically true of GNU, but since the sources are freely available and I was in the practice of building the glibc library in a system, applying my own patch so that each process on the system could have its own DNS servers was reduced from difficult-if-not-impossible to a small additional step in building the system.


Leave a comment: