InfoWorld has an interesting article that takes the pulse of developers who choose Apple Macs as their development machine.  I think the article is correct in noting two key factors -- virtualization and MacOS X's BSD underpinnings -- as encouraging adoption.

How would I answer the question of whether I prefer to work with a Mac? 

picture of my MacBook Pro
You can pry my MacBook from my cold dead hands!
But it wasn't always that way...

Working at Wolfram Research in the late 90s/early 2000s meant that I had to develop for a wide range of platforms, including Windows, Linux on four architectures, five commercial variants of UNIX, and MacOS.  Prior to the release of MacOS X, I loathed having to port things to the platform.  I didn't have a Mac to work on at the time, so I had to go bother our system administration group to get a loaner. 

The lack of protected memory meant that applications ran in their own fixed size memory partitions, and if you ran out of memory, you had to quit the app and then modify the partition size.  The lack of a command line, aside from MPW, was another annoyance.

I looked forward to the day when we got a MacOS X development machine because then I could do my library porting from the a shell, logged in remotely via SSH.  It seemed so weird at the time, yet pleasing.

Here at Compendium, all developers are issued MacBook Pros, which was just one of many points that sold me on wanting to work here.  Since we develop on the LAMP (Linux/Apache/MySQL/PHP) stack, our development is done with customized CentOS Linux installs running on VMWare Fusion.  We can test internet Explorer with VMWare Images of Windows, or we can log into a terminal server.  It's nice to be able to suspend the state of my virtual machine so that I can pick up where I left off after shutting down my work laptop.

Like the developers in the InfoWorld story, the experience has not been without annoyances.  During the first couple months of development, we ran into issues with Fusion wherein the virtual machines would crash under heavy disk activity, which meant that operations like checking out large amounts of sources from our revision control server would cause a system collapse.  The bad part was that the crashes caused virtual disk corrpution, so there was the potential for lost work.  We were able to get around the problem by rebuilding the virtual machines using the original virtual disks and upgrading Fusion itself.

Another smaller annoyance is that I have to make sure that I remove the USB key for my wireless mouse prior to putting the laptop in sleep mode.  This is because if the computer is reawakened without the key in the port, the display will not power on, so the computer is left in this limbo state where everything is still running, but you can't see anything.  The only way to recover is to power down the laptop.

Finally, the button for the track pad doesn't seem very durable.  After about seven months of use, I noticed a click that happens as I press on the button.  It's as if the button has become slightly dislodged from the spring support.  So as you press, you feel it come back into contact before actually making the mouse click happen.  I can get a brief respite by following the "paper wiping" instructions that have been recommended here and there on the net.  I suspect that before year's end, I will have to take the computer in to have the button repaired.

Still, I wouldn't trade this machine for anything right now.