When I bought my first Macbook Pro a few years ago, I purchased it for the hardware and intended to use it to run Windows in Bootcamp. After spending a little time with OS X I came to appreciate it and I now use it exclusively. But my favorite thing about it is the UNIX like underpinning. Which in a sense makes it less locked down than Windows.
However I may feel about iPhoneOS, Mac OS X is a beast that nothing else can compare to. At least for a consumer unix experience where everything just works.
For values of "everything just works" that don't include standard developer tools. Getting a new macbook into configuration for (for example) web development is a PITA compared to any distro I've used that came with a decent package installer (apt, yum) out of the box. You have to hack up the damned keyboard settings just to get home and end keys to work.
That is because you are trying to use your Mac like it's a Linux box. Use the OS X keyboard shortcuts (which happen to be the same as Emacs, Ctrl-A and Ctrl-E respectively) and grab MAMP and you are good to go.
You don't even have to grab MAMP or Xcode, since Apache, PHP, Ruby, Python, emacs and vim come preinstalled with OS X. So you just have to get the database server. Until you have to compile something.
I don't see the difficulty with compiling. Just get out your install disk, open up the optional installs, install XCode. You now have all the standard Unix developer tools (in addition to the XCode app, which you don't have to use).
I agree, I don't see it either. The whole point of my previous comment was to show that OS X ships with so many things that you don't have to install anything to start programming in PHP, Python or Ruby. "Until you have to compile something" refers to the fact that this claim doesn't hold anymore when you have to compile, for example, a native extension to those languages.
Honestly, do yourself a favor and check out MAMP. It works great and won't gack the next time apple updates php, mysql, etc. I even kicked in and bought MAMP Pro and its arguably the biggest time saver on my laptop.
Might I suggest running a VMWare image with the same flavor of linux that your production server uses? I've been using this set up happily for years. As a bonus you can copy the dev image to other developers or use it to set up larger dev server.