When Terry Weaver wants to create .Net applications, he fires up Visual Studio and types away like any other .Net programmer. The setup gets a bit weird when he wants to test how the .Net application might appear to a Mac user visiting the Web site. Instead of starting up another machine, asking a colleague with a Mac, or simply ignoring those crazy followers of Steve Jobs, Weaver just pops over to the browser in another window. That's easy because Visual Studio is running on Windows inside a Parallels virtual machine, which, in turn, runs on his Mac. He has a PC, a Mac, and a Unix development box all in one.
"I set up the networking so that I can type the IP address of my dev Web server to test my ASP.Net pages to see how they look and behave on Mac systems," said Weaver. "I think that's a good thing since I don't believe many developers of .Net take the time to test their applications on browsers in other operating systems."
Stories like Weaver's are increasingly more common as the Mac's popularity among programmers continues rising. Apple's decision to move to Intel chips and embrace virtualization of other operating systems turned the platform into a very flexible tool for programmers. Macs let coders work with most of the software standards that live in boxes that range from the smallest smartphone to the biggest cluster of computers.
This newfound success has been evolving for some time. One team manager interviewed for this article said that his programmers started switching from Dells and ThinkPads at least three years ago. Now 80 percent of his group uses Apple laptops.
X marks the spot
The explosion of interest in smartphones is helping the trend. The US-based Weaver says the fact that he's using a Mac made it simple to start experimenting with the iPhone development kit, available only on the Mac. Google's Android SDK and RIM's BlackBerry SDK both run in Java, a language that's usually well-supported on the Mac (though Java releases for Mac tend to lag behind those for Windows, Linux, and Solaris). Developers for the Palm OS also seem to gravitate toward the Mac OS X. All the major handheld operating systems except Windows Mobile run directly on Mac OS X, and Windows Mobile runs in Parallels Desktop or VMware Fusion.
Programmers who concentrate on enterprise development and server applications are often devoted to Apple's hardware, although they're usually able to cite several dozen glitches and incongruities that annoy them. Developers building code for the Unix-dominated world of servers naturally feel more at home on the Mac. Although the surface layer is dripping with consumer-friendly eye candy, the underpinnings are close to those of BSD. This makes OS X a kissing cousin to Sun's Solaris and many versions of Linux. If you're developing for Sun servers, a Mac laptop offers a portable environment that's comfortably familiar.