OS X is really awesome for developers.
Windows has the great Visual Studio IDE, but that’s about it. The lack of a proper terminal and all the useful unix tools really sucks. Linux on the other hand is very useful, but I never felt at home on Linux and I hate when things don’t work as they’re supposed to.
OS X is a really great environment for developers – one simple reason is it’s easier to make money:
- People are used for paying for software on OS X so it’s easier to sell your apps.
- The App Store.
- Once you get the hang of OS X development with XCode (which is actually pretty easy), it’s not hard to move to iOS development, another great source of income. Users on iOS are much more used to paying for apps than Android users – many more apps on Android are free.
Perhaps even more importantly, the Unix nature of OS X brings many advantages for developers:
- A “real” terminal environment with most of the tools we’re used to such as grep, awk, sed and the bash and zsh shells.
- Package managers like homebrew (written in Ruby – yay!), fink and MacPorts.
- Most of the important Linux tools and libraries have been ported to OS X.
- TextMate is OS X only 😉
- Did you know that you can set keyboard shortcuts like “Open man Page in Terminal” right out of the box? This isn’t something for “stupid users” but it exists in OS X.
- FileMerge/opendiff is a pretty solid graphical interface for diff that is included with OS X and can be invoked from the terminal with “opendiff”. It also has built-in support in git, so when you merge conflicts in git with automerge it will use opendiff.
- Did I mention it’s the preferred development environment for Ruby? 🙂
I have to say, since switching to OS X a year ago, I am very happy with it. The ecosystem (selling stuff to users), ease of use and power it provides is something other operating systems just can’t match for me personally. I could just never bring myself to use Linux as my main OS, but with OS X it’s just a joy. Maybe the thing I appreciate about OS X and other Apple products the most is the attention to details – the beautiful fonts, the features that don’t need to be there but are, the integration with other Apple devices… It really is a joy to use.