Each developer, though, will curse at some difference that drives them insane. The Mac, for instance, insists on using a carriage return to end lines, a historical anomaly that clashes with both Unix (line feed) and Windows (carriage return and line feed).
Problems like these are disappearing as more developers grouse, but change is slow. The newest versions of the file system on the Mac, for instance, are now both case preserving and case sensitive, but you can still type "ls /library" in a command-line window and get the same results as typing "ls /Library" -- not so in most versions of Linux or BSD.
Others complain about what they see as poorly tuned performance and generally sluggish behavior. One programmer who refused to be named because he's on the other side of a negotiation table with Apple says that OS X often feels like it's "wading through mud." In his experience, the virtual memory system does a poor job paging data in and out of memory, and the default-network file system, AFS, is engaging in some kind of passive-aggressive torture. This programmer does, however, use the Mac frequently, no doubt enjoying the snappy performance of music and video, which get a high priority in the OS X kernel.
Java development on the Mac is also very popular, in part because all the major Java development environments are written in Java. Therefore, Eclipse, IntelliJ, and NetBeans all run about the same on Windows, Mac, and Linux boxes. While there is a bit of native code, most software -- including all the server applications -- compiles and runs in almost the same way on all three systems -- well, at least until you try to run some shell script that relies on case sensitivity.
Java is not the only language for server applications that flourishes on the Mac. David Heinemeier Hansson, the creator of Ruby on Rails, and his colleague Jason Fried, one of the co-founders of 37signals, are featured on Apple's Web site endorsing the machine. A beautiful and tastefully undercolored video describes the joys of building Web applications on the Mac.
"Working on the Mac really inspires me to do great work," says Fried in a voice-over to the video. "When you work on something great, you're generally going to build something greater."
While this may seem like pure hype at first glance, Fried explains in the video that his company is developing Web software with many of the same design objectives as those of Steve Jobs.