Chapter 1. Getting Oriented

Mac OS X is, in many ways, a new paint job on a 30-year-old operating system. BSD (the Berkeley Software Distribution), the Unix root of Mac OS X, has been around since the 1960s. The Mach kernel was developed in the 1990s, and the underlying user interface was created in early 1980s along with Lisa (Apple's ill-fated precursor to the Macintosh). In other words, everything old is new again.

Mac OS X doesn't feel like a 30-year-old clunker, though, but the culmination of countless hours of experimentation and refinement in desktop and workstation operating systems. To a Unix expert, Mac OS X is much like a solid distribution of a classic BSD system with the most egregiously beautiful window manager you've ever seen. For the Windows veteran, it is a simplified beast?a pure workhorse of modern productivity stripped of decades of anachronisms and distilled until it has an almost Zen-like simplicity. For the Mac OS 9 user, it represents an even more significant change. Nasty crashes and ridiculous extension conflicts are now a thing of the past, while Aqua, Mac OS X's new user interface, is clearly the look of the future.

Most importantly, though, Mac OS X is finally a developer's platform. With the melding of BSD, a killer user interface, and unprecedented stability, code can finally be written on the Mac OS X platform and deployed to Windows, Linux, Unix, or other Mac OS X servers. This book was written with the Java developer in mind. It assumes some degree of Java experience and familiarity with basic Unix commands such as cd, ls, and pwd. Maybe you are interested in porting an existing Java application to Mac OS X (perhaps because your customers asked for a Mac OS X version). Or maybe Linux is your development platform, but you are interested in moving to Mac OS X to access powerful graphics applications such as Adobe Photoshop. Maybe you're a bored Windows user, or are philosophically opposed to the Microsoft hegemony.

Your degree of experience really doesn't matter; Mac OS X is a great Java development platform for people of all programming and operating system backgrounds.