However, it's growing clear through Apple's actions that they aren't interested in supporting the traditional desktop computing market, and that they see iOS-style black box computing as the road forward.
For someone whose contributions to the platform have run the gamut from kernel drivers to VM runtimes to desktop apps, living in an iOS-like desktop is simply not tenable; I can't wait years for a platform vendor to decide that my particular use-case is worthy of their support.
It's like owning a wood shop and only being able to produce Ikea-style furniture. Endless streams of vendor-approved Ikea furniture, and nary a 30' hand-built sloop in sight.
However, most of the industry-changing software has been exactly the kind of thing you or I could never build on iOS -- even HyperCard would technically run afoul of Apple's iOS rules regarding downloaded code.
Apple lost their way, so I need to find a new platform.
We just have to accept that developers expect a lot of their environment, more than traditional users want, and more than what should be available by default in an OS. I am okay with installing plugins/tools/etc. to make me more productive.
This is pretty much what everyone recommends re Arch.
Debian testing is also similar.
I think that the state of Linux desktop right now is bad. GNOME3 is a pretty toy and KDE4 is ugly and (in my experience) unstable. Xfce is getting heavy, so it seems like people are all going to *box DEs. There used to be much greater diversity of well-supported desktop distros, like MEPIS, that weren't just another layer over Ubuntu.
Fedora seems to be the only decent distro for development right now: Fast mirrors, systemd for reasonable boot times, up-to-date packages, no distractions or consumer focus (Ubuntu), well-supported and relatively stable. I strongly recommend the MATE+Compiz spin: https://spins.fedoraproject.org/mate-compiz/
It isn't any heavier than Windows. Hell, anything is lighter than Windows, and Vista has been running on almost every PC since 2005. So I'm not that worried about the "weight".
> Fedora seems to be the only decent distro for development right now
The only two breakages I've had in the last 6 months on Arch as my main development machine have been a kernel 3.13 bug that affects everyone (AMD cards are put in suspend mode even if they don't support it, which crashes the driver, and is fixed in 3.13.7) and an xorg configuration bug fixed in Xorg 1.16. Neither of which were game breaking, just inconveniences, but I did cherry pick my hardware to work with Linux (all open source drivers on everything, atheros nic, hd4600 + 7870 on Mesa, Intel ethernet and usb / etc).
Problem with Fedora is a severe lack of software availability. On Ubuntu you have PPAs, on Arch the AUR and pkgbuild.com, and on Suse you have the OBS, but on Fedora (and Mageia and friends) you have the rare independently hosted repo you have to add via config file. I've also had experiences with Fedora being just as unstable as Manjaro with their bleeding edgeness and lack of verbose testing on all devices before pushing near-vanilla kernels.
Even when Ubuntu switches to systemd, it is hard to recommend because rolling release just makes so much more sense in every use case except the unmaintained server or automation box, in which case I'd favor Debian anyway. I'm actually hopeful for Chakra, which is kind of floundering since they lost their web hosting and all kinds of nonsense, but the direction - consistent biannual update pushes to a rolling release, with thorough testing and a KDE base system that goes out of its way to avoid pulling it other frameworks for speed and footprint. It is a pretty pure fire and forget solution, albeit of course its just a community project.
ROSA is another one I'm hopeful for, since its business backed with support contracts and does some novel features on top of Mageia.
Oh my goodness, no. Rolling release requires that I be prepared to deal with breakage any time I install anything from the repos (because, as Arch says, "partial upgrades are not supported", as a practical matter I have to update everything before installing anything.) Breakage is also a routine possibility any time I install security updates.
I also have machines that connect to the Internet solely through a cellular data plan. I have no desire to such bandwidth for all these updates.
Rolling release gets me nothing I'm interested in. I use Debian stable on all my machines.
This is a failing of an improperly tested update, not of the model. You do need to beat all the possible glitches out of updates as they come in some testing repo, but if you do and you can deliver rock solid iterative updates it is the natural way to keep a system up to date.
GNOME, too, is going a long way forward. Windows still doesn't really have pixel scrolling for trackpads, which MacOS X has had for a very long time, but GNOME does.
I'd argue that the biggest Linux desktop issue is that package management systems are a bit of a mess, especially the dpkg / rpm kind. A system like this one should not have locks, nor require root access systematically. Thankfully, Nix fixes both, and ensures atomic upgrades and rollbacks. That project makes me hopeful for the future. Anyone can install and use it, no matter what distribution or package manager is used on their system. Their default repositories are rather large, although obviously not as large as others, but that's improving rather fast.
Beyond that, the fact that both KDE (Apper) and GNOME (Software) agree on using PackageKit by default, which grants them an app store that isn't tied to a specific package management system, is rather good news for the future.
Also, why is it necessary to update the kernel twice a week? And why isn't VirtualBox a core package?
I'm looking for an alternative to OS X, but I want a stable OS that I can use to get work done. If anything, Apple has been shipping too much broken software, too often. The last thing I want to do is switch to a platform that actually embraces pushing out a constant stream of poorly thought out features and a slew of regressions.