Both current Macintosh users and prospective Macintosh developers may be intimidated by the minefield of code words that surrounds the core of Mac OS X (X as in 10), the Unix-based operating system that elevates the Macintosh to a new level of credibility as an enterprise or workstation platform. Classic, Carbon and Cocoa are the alliterative trio of development options that span the gap between old and new.
With real memory protection, real virtual memory and real concurrent threads, Mac OS X is at last “a real operating system”—to borrow the phrase that PC Tech Journal famously applied to IBMs OS/2 15 years ago, when it was the first mass-market desktop operating system to merit that label. That delay is a glacial epoch by IT standards, and it emphasizes the supermodel ethos of Macintosh Past—gorgeous on the outside, badly undernourished on the inside—but that was then, and this is now, and Mac OS X is Macintosh Present and Future.
With almost two decades worth of legacy applications, including a surprisingly successful migration from Motorola Inc.s 680×0 to the PowerPC processor family along the way, its no surprise that Apple Computer Inc. has taken extreme measures to provide a smooth transition. The Classic environment in Mac OS X, like the PlayStation 1 logic buried in a corner of the Sony Corp. PlayStation 2 microprocessor, gives old Mac code a familiar place to run. It provides a Mac OS 9.1 session that runs as a segregated task. Users can opt to start this session by default or can let it start automatically on their first invocation of any code that requires it.
Those legacy applications, however, will retain their original look and feel, rather than adopt the new Aqua interface conventions that can make a Mac OS X screen look like a plate of fluorescent jelly beans. Behind the scenes, theyll also suffer from the legacy limitations on multitasking and memory management, rather like DOS applications under Windows 9x.
Enabling a higher level of operation under Mac OS X, while retaining the option of running on older machines, is the goal of Apples Carbon environment. “Carbonized” applications cant directly manipulate hardware, since Mac OS X abstracts hardware interactions, and cant rely on the 680×0 compatibility bridges in Mac OS versions prior to X, but they can use many native Mac OS 8 and 9 APIs along with modified APIs that exploit (if available) Mac OS X memory, multitasking and GUI refinements. Developers need ensure only that Mac OS 8 and 9 users have the CarbonLib system extension installed to provide the necessary framework.
Cocoa is the object-oriented framework, specific to Mac OS X, descended from the technology developed by Next Inc. Like Microsoft Corp.s .Net, Cocoa offers high-level services that can be readily accessed by a wide variety of tools, but it represents a significant learning challenge for developers. Apples Web page at developer.apple.com/cocoa is the entry point for an extensive collection of documentation and tutorial materials.
With real memory protection … Mac OS X is at last a real operating system.
Related Stories:
- Mac OS X Takes Macintosh to New Level
- Microsoft Tunes Mac OS X Software
- More Macworld Coverage