If you use Linux on a daily basis, particularly as a tinkerer, I think it's reasonable that you become adept at using it. I started in the mid 90s with Linux, but I don't use it every day, but I do develop for it both on desktop and in embedded systems on a sporadic basis, probably once a month on average, although they are usually fairly in-depth lengthy sessions.
Probably largely because don't use it all the time, each time I come back to it, something's been deprecated and my code no longer compiles and/or I can't find the right versions of this and that. I have tried to correct for that by building "gold" Linux environments in VMs and that does help, but not when you need to distribute your work where you need to be able to build a working toolchain or environment. It's like building a house on quicksand to some degree, every time I go back to something a few months later the foundations have moved.
Very frequently when I want to do something in Linux, I find myself navigating through a labyrinth of Googling several interdependent steps and other gotchas, many of which lead to blind alleys, many are out of date, but usually I do find the requisite nest of golden eggs to fix my problem. It's the hours spent on negotiating those labyrinths that make Linux so darned frustrating.
I would, on the other hand, accept that for someone who doesn't use Windows or OSX on a daily basis will suffer the same indignations to some degree or other. My only comment on that is that OSX and Windows don't seem to be built on quite the same quicksand that Linux seems to be, in that I seem to be able to rebuild code from many years ago much more easily without having to spend those hours Googling. But yes, I would think there's almost universal indignation at Windows 8 and its Modern UI even among regular users, most of whom I'd suggest go straight to Desktop anyway.
Oh, very well said, Howard.
I "grew up" with Unix in the late '70s/early '80s and first used Windows in 1986(!). I admit it was pretty dreadful until the 'NT' based versions (go read about Dave Cutler and the origins of the Windows NT kernel).
However, I've been programming for the NT interface since the mid '90s and I'd much rather use its API than any Unix variant, be it Linux (Android) or BSD (OSX/iOS)... and my code runs on Windows, Android, OS X and iOS. Want an unnamed semaphore? CreateSemaphore() on all Windows NT variants. Want one that works on Android and OS X? sem_init(), right? Hah! Your code compiles, perhaps with a deprecation warning, but doesn't work on OS X (the sheer stupidity of this amazes me, Apple allow the code to compile, knowing it isn't going to work).
I have the latest Visual Studio and I can still target Windows XP... and indeed, it is a requirement that what I write runs on Windows XP. I hate to think what I'd have to do to make something run on a 12 year old Linux system with up to date tools. I did an online course that supplied a Linux VM to do their problems. I thought I could use another Linux system I had around. Not a chance. The code for the online course managed to use an incompatible libc and no way could I make it play nice. That simply wouldn't happen with code I produce at work with the latest Visual Studio. It will run on anything from XP to Windows 10 (and for the kind of code that this class was using, no reason it wouldn't run on Windows 2000).
There are some that say that Windows is less secure. I think the openssl and bash problems of the last year go a long way to disproving that.
Don't for one minute think Linux is more secure. It depends entirely on how many gullible users there are that the hackers (bad guys) can try to hack. Why attack an OS that has relatively few end users to exploit? If Linux or OS X became as popular as Windows, I would guess you'd start seeing as many exploits as you see now for Windows.
Then there are the complaints that Windows locks up or crashes (blue screens). Over the last 10 years or so, my experience has been that blue screens have been caused by faulty hardware (hard drive, memory, motherboard exploding capacitors and so on) or third party drivers, (a particular 3rd party USB sound adapter comes to mind that would blue screen regularly; I returned the hardware). My Windows machines stay up for months, other than for reboots for updates (as does my Mac mini at work).
So, be careful of what you ask for, those who live in the Linux glass house!