I get the joke, and it was the first thing that popped in my head too. But in all seriousness, OS X is Unix as well, and can do pretty much any Unix based task that GNU/Linux can. Sometimes the best tool for the job is the one you already own.
The biggest problem I had with Mac OS X was it's user space unix tools. Everything GNU is ancient from before GPL3, everything BSD is crazy ancient from FreeBSD 5.. it's pretty awful.
Thus why macports for me was king. HomeBrew tried to hard to not replace your user space, though I haven't looked at it in a long while. I'm on Linux everywhere now.
In general, I don't think I'd ever give up Linux. It's a hacker's OS, by and for hackers. Being able to pick apart and fiddle with any portion of, from the kernel on up, is a wonderful, empowering feeling, and something that has proved useful both personally and professionally over the years.
Indeed, when I'm on GNU/Linux I always set the WM to focus-follows-mouse, click-to-raise. But strictly speaking, that's an X11 thing, not a Mac/BSD/Unix/Linux thing.
I didn't mean any slight against GNU/Linux; I use it every day (and I don't mean on a phone or tablet either). But I also have used Macs for stuff that works better on a Mac, and Windows for stuff that works better on Windows. There isn't a "Best OS" period, because every use case is different. There's only "best for the job at hand".
As the other commenter stated, it's an X11 thing. Despite the prevalence of applications that run under X11 and the XQuartz availability, the native UI under OSX is Quartz which handles everything under OpenGL I believe....?
iOS may be Unix underneath, but on the top it has a terrible WM that simply cannot be changed to behave like anyhting else. I'm using xmonad and while I may come off as pretentious, I do see that my colleagues that use mac constantly fight against the WM, searching for windows, moving them around, resizing etc.
That's a larger problem I have with the Mac (and Windows, although less so) platform as a developer environment: all the cool tools are closed-source and paid. That's a serious barrier to innovation.
"Cool tools"? Needing ext#fs write support on OS X is a pretty niche application and I'm honestly surprised it's continued to be a viable business for Paragon all these years, especially with the rise of mainstream virtualization. I wasn't expecting to find them still selling it at all.
It probably wouldn't be there except I'm sure most of the expertise and code had to be developed for their imaging and partitioning products.
I think the only things I run frequently for development that don't come with OS X and aren't free or open source are Sublime Text and Paw. You can certainly use vim/emacs/TM2 and curl scripts if you want.
Were I using Linux, I'd be using Sublime Text, and, well, curl scripts again. I'd also be jumping off a cliff after about two days of dealing with desktop Linux's horrific regressions over the past decade.
OS X's native development tools (Xcode, llvm/clang) are free, and most of the tools you use in Linux are either already there, or a "brew install" away.
I've never gotten CPAN to work reliably with any OS's included copy of Perl. As with Python and Ruby, if you want to use things not available via the OS's package manager, you're best off installing a separate copy.
So, I've satisfied your request, "Try using cpan to install basic modules like MySQL". I guess that means you admit OS X "can do pretty much any Unix based task that GNU/Linux can"?
BSD differs from Linux in some important ways. If one of those differences affect your works, than Mac OS X is useless, even if it is Unix (and Linux, some would say, isn't)
I get that, and I wasn't trying to say that GNU/Linux is Unix, either. In fact, what with systemd on most major distros these days, GNU/Linux is less Unix-y than ever (I'm not saying that's good or bad; I have my reservations about systemd but they are irrelevant to this discussion and I'm not being biased either way about it here).
That said, for just about any project I've ever worked on within a GNU/Linux ecosystem, I could have easily adapted it to Mac if that was my chosen platform. HTML is HTML, JavaScript is JavaScript, so for today's web-centric projects the OS you're running doesn't matter as much. Even languages like Python don't really care what's under the hood.
Of course, if you're doing Linux kernel development, or targeting a GNU/Linux deployment, then a Mac isn't the best idea. :)
"Useless" a strong word for a simple difference between two Unices that affects your work. You could just as well say Linux is useless because sysvinit and upstart aren't the same as launchd.