Well, it happens :). I was a passionate XP user, Vista made me switch to Ubuntu. 7 and 8 are good alternatives to Ubuntu (from my point of view). Currently I use mostly OS X.
I think a programmer should be OS agnostic, he can have a preferred OS, of course, but he should be able to do his work on all major OSes.
I use Ubuntu for everything and I've worked on OS X and got along with it.
Unfortunately Windows is the only OS that doesn't have good integration with Unix-specific developer tools (like the GNU userland) or automation for installing said tools from a central and well maintained repository (coincidently the Debian repository is also the reason why I prefer Linux over OS X too). Cygwin is the only option and it's just awful.
Working on top of Windows makes me want to shoot myself. I don't understand how developers that deploy on other platforms (like the web) can stand Windows at all.
I think a programmer should be OS agnostic, he can have a preferred OS, of course, but he should be able to do his work on all major OSes.