First of all, please don’t hate me. This isn’t a post by a trendy mac-using hipster who uses Photoshop exclusively. I’ve been using Windows since booting the machine opened a DOS prompt, and you had to type ‘win’ to get in. I went through Windows 3.1, 95, 98, ME, 2000, XP, Vista, 7. I’ve never been a user of Apple products (although the middle school I attended had a Apple 2e and some old iMac’s). My first experience with Linux was a copy of Mandrake 7.2 I purchased at K-Mart to fix my broken W98 install (damn you I-Love-You virus!) when I was about 14, a year later I was re-compiling the Linux 2.2 Kernel on a 90Mhz, 80MB, 2.1GB laptop.
The biggest thing I noticed about silicon valley (and even the city I was living in before; Ann Arbor, MI) is that EVERYONE uses an Apple. Of about 200 hackers I get the pleasure of meeting with every week, about 190 of them use either a MacBook Pro or a MacBook Air. These are some of the brightest developers of our generation, all with awesome ideas and highly employable app development skills.
If you’re rolling your eyes at that paragraph, chances are you haven’t given Apple a fair chance. You just rolled your eyes again, didn’t you?!
I used to hate Apple products. Then again, I used to love IE. But then I gave it a fair chance and I can honestly say I’m never going back. People are always telling stories about how they switched to a Mac and can never go back to a PC, but you don’t really hear about the reverse happening.
Anyway, the reason I personally made the switch is because I love LAMP, I need to work in a command line, and I hate it when I break a Linux machine (sudo apt-get upgrade; init 6; GRUB ERRORS). I will never switch away from a Linux based server, but for a development machine, I need something more stable. One argument Linux users have against OS X is that it doesn’t have a native package manager, but grab something like HomeBrew and you’re good to go. Thanks to this utility, I’ve got Node.js, Redis, CouchDB, and MongoDB all running locally with minimal effort.
Questions and Answers
Why not just install a virtual machine and run Linux in it locally? Emulation is usually not the right way to go about solving a problem. It does work great in the dedicated hosting world, but for a dev machine it means you have to boot a system within your system, which takes time and system resources. It does work, and can more accurately resemble your server environment, but the convenience just isn’t there.
Why not just run Ubuntu or Fedora or RedHat? I really like knowing that everyone using my OS has the same window manager, same kernel, etc, and that any binary app I download just runs without configuration and compilation. It’s really easy to download a dmg file and double click a program and get it working, which is awesome! Windows users do get this benefit, too.
Not compiling your packages makes them slow. I know! But this is merely a development machine. I would never run OS X as a server (or Windows for that matter). Fine-Tuning performance is a definite need on the server, but on the dev machine it’s not as important.
The version of PHP / Apache / Python / Perl / GCC shipped with the OS is outdated. This is easily alleviated by installing the HomeBrew package manager and grabbing the newer versions. They will be stored somewhere in the /opt directory and remain separate from the versions shipped by the OS. This way when the OS upgrades your packages aren’t destroyed, and if you install an unstable program it won’t interfere with your OS.
Closing Notes
OS X isn’t for everyone. There are some startup teams which build software that needs to run on PC’s, and you’ll see one developer on a Mac and the other on a PC. Mac’s also cost about double of their PC counterpart.
I had a PC with nice specs (and 45 minutes of battery life) which cost me about $1,300. I sold it a month or two ago for $500 after 11 months of ownership. My Mac is a lot nicer as far as specs go, and cost about $2,400 (plus $50 for 8GB of aftermarket RAM) and will probably sell for $1,800 one day. Mac’s tend to sell for more, which is nice.
Owning a Mac and owning a PC is a lot like believing in the tooth fairy and not believing in the tooth fairy. I will leave it up to the reader to figure out my parable.
