For me it was a combination of things. For one, I use emacs and a Norwegian keyboard layout, and Apple handily ensures that '\' is only possible to type using both shift, option and 7. Now, since I'm an emacs user, typing meta+\ should mean command+option+shift+7. As if that wasn't bad enough, I never found a way to configure neither Terminal.app nor iTerm2 or whatever it's called such that I could get both option functionality and a meta key (perhaps this has been fixed later? been a couple years), so when ssh-ing I had to use esc, then option+shift+7.
Combine this with how difficult it is to get a real dev environment set up, on debian-based systems you just apt-get install build-essential etc., similarly on Arch Linux, whereas on a Mac it was installing that whole XCode from a CD which included a bunch of stuff I never needed, then waiting for hours for macports to compile gcc etc. (I never understood why macports didn't go with precompiled binaries, mac's are so uniform compared to linuxes it should be _easier_, shouldn't it?). And then waiting for hours every time gcc etc. got an update, thinking "I thought I did this already, what is this, gentoo?" And the annoyance of having to install GNU sed and ensure it was before OS X sed in PATH because OS X sed was horribly slow on certain regexes (I think they had a \1 in them, can't remember), it felt so … inelegant.
And most of the projects I use and like working on just seemed to have better Linux support; of course I could rant about how OS X is a POSIX too and they should support it just as well as Linux, but, well, I chose convenience. For the sake of my fingers and my patience.
use an english keyboard, problem solved :o).
I know, there are special keys ( I am german and we have special keys too). But that is solved with a handy tool named ukelele, that allows to change keyboard profiles. Very useful.
Have you ever seen such a thing on linux?
Combine this with how difficult it is to get a real dev environment set up, on debian-based systems you just apt-get install build-essential etc., similarly on Arch Linux, whereas on a Mac it was installing that whole XCode from a CD which included a bunch of stuff I never needed, then waiting for hours for macports to compile gcc etc. (I never understood why macports didn't go with precompiled binaries, mac's are so uniform compared to linuxes it should be _easier_, shouldn't it?). And then waiting for hours every time gcc etc. got an update, thinking "I thought I did this already, what is this, gentoo?" And the annoyance of having to install GNU sed and ensure it was before OS X sed in PATH because OS X sed was horribly slow on certain regexes (I think they had a \1 in them, can't remember), it felt so … inelegant.
And most of the projects I use and like working on just seemed to have better Linux support; of course I could rant about how OS X is a POSIX too and they should support it just as well as Linux, but, well, I chose convenience. For the sake of my fingers and my patience.