Coming from apt-get or yum makes brew, port, and fink look like a joke.
Coming from apt-get or yum makes brew, port, and fink look like a joke.
When I most recently used Linux on the desktop, in 2010, I finally grew frustrated enough with Ubuntu's screen management setup (there was no way to get it to respect my wishes for it to turn off the screen completely, until I finally killed the power manager entirely) that I switched to Arch. That was superficially better (stuff mostly worked as advertised), but the rolling release means either keeping up to date and dealing with constant breakage ("Oh, look, the new kernel has a broken driver for my audio card", or "Oh, another update, another few hours troubleshooting Wine. Yay"), or waiting a while and having the update become riskier and riskier.
Linux will be ready for the desktop when updating doesn't mean near certainty that something breaks. I realize that things used to be more broken, but when I used Linux as my primary desktop back in 1998-2003, my expectations were lower. Being a Mac user for 5-6 years seriously reduced my patience with troubleshooting random problems just to get all the functionality that the system I'm using claims to provide.
It's not clear to me that there's any way to get the level of polish needed for a major desktop OS without at least an army of (very critical) testers and developers, and maybe without forking most of the packages in the distro. Nevertheless, if OS X continues down the apparent path it's on, I'll be switching back again in a few years.
Arch is definitely the best workstation for a developer. The convenience of binary packages, the flexibility of PKGBUILDs (analogous to Gentoo's ebuilds, but much more reasonable), vanilla packages and quick releases make it a dream workstation for a developer, despite a rare wonkiness here or there. It works much better than Ubuntu et al for a development box.
Package management is definitely a disaster on OS X, though. Regardless of whether you use Homebrew, Fink, or MacPorts, packages tend to break often. Some of this may be unavoidable: there are enough differences between Linux and OS X that compiling programs developed for Linux for OS X is bound to cause problems.