OS X, the first month
I was an OS X virgin until about a month ago. My company offered to buy me a Mac, a shiny 24in iMac. It’s the first inspiring piece of technology I’ve had the luxury of using, next to my iPod touch. Not that I haven’t used a Mac before, I just haven’t owned one as a primary computer.
I’ve owned dozens of PCs. Laptops, integrated units, and plain-old-boxen. I mostly build my own PC hardware now, and it turns out okay. Nothing I’ve used, though, compares to the iMac. Why? The answer is somewhere between the superbly packaged hardware, and the damned reasonable OS.
I’m a Linux guy. I was a Windows / generic Unix developer before Linux was usable (and DOS before that, ST/Amiga before that, 850x before that). Ubuntu is an enjoyable packaging of Gnome and Linux; I use it daily, side-by-side with XP and Vista. They’re both capable. They’re both flawed. Depending what I’m doing, Ubuntu is my first choice, as it’s a developer’s platform. But neither Linux nor Windows compare to OS X.
On Ubuntu, things break regularly. Nothing insurmountable, but I found myself cursing broken Sane drivers, USB bugs, and package dependencies more than I should have. On Windows, things are just fundamentally broken, as the legacy design is so horribly coupled that developers don’t really stand a chance of building anything great. Microsoft knows it, but legacy has made it difficult for them to progress. I don’t hate either system, but neither inspire me.1
OS X is better. Not perfect mind you, but it forces several simple patterns on developers, making for a less coupled environment, inspiring a surprisingly rich set of tools for such a small market. And it’s that inspiration that drew me to Mac in the first place. Great software is hard to pull off, and I’ve found that most Mac apps are clean, simple, polished, and damned useful.
I’ve spent a few dozen hours in Xcode now too. Like the rest of the platform, it’s surprisingly sensible and productive. Objective C is a smart approach (C with eventing extensions), and the platform libraries (frameworks) of Cocoa are quite good. As an experienced C/C++ programmer, with experience in Java, C#, Perl, PHP, Ruby, Smalltalk, Lisp and other languages, learning Objective C was a breeze.2 The performance/abstraction balance is brilliant, especially for the iPhone.3
I’m still using Ubuntu and Windows (VMWareFusion), but the Mac has replaced my desktop system. I was more productive in Mac land within the first two weeks, mostly a function of Spotlight, Textmate, Spaces, and the great default terminal/shell tools. Next up, I’m saving for AI/PS, to replace the Gimp and Inkscape.4
- Inkscape is the closest thing to inspiration on Ubuntu, and I can’t think of any Windows application that is at all inspirational. ↩
- The Hillegass text made learning Objective C/Cocoa especially trivial. ↩
- Compare the limitations of J2ME / Android to the iPhone. No contest. ↩
- Both the Gimp and Inkscape run like crap on OS X, they run faster in a Ubuntu VM. ↩

RSS![3 comments [Comment]](/images/comment.png)
