Cocoa and Carbon

Mac OS X was supposed to make life simpler. It was supposed to eliminate the confusion and complexity that the old Mac OS had accumulated over the years—and replace it with a smooth, simple, solid system.

Someday, that’s exactly what Mac OS X will be. For the moment, however, you’re stuck with running two different kinds of programs, each with different characteristics: Cocoa and Carbon.

The explanation involves a little bit of history and a little bit of logic. To take full advantage of Mac OS X’s considerable technical benefits, software companies had to write new programs for it from scratch. So what should Apple have done—sent out an email to the authors of the 18,000 existing Mac programs, suggesting that they throw out their programs and rewrite them from the bottom up?

At most big software companies, that suggestion would wind up on the Joke of the Week bulletin board.

Instead, Apple gave software companies a break. It wrote Mac OS X to let programmers and software companies choose precisely how much work they wanted to put into compatibility with the new system. There are two levels:

  • Update the existing programs (Carbon). If programmers were willing to put some effort into getting with the Mac OS X program, they could simply adapt, or update, their existing software.

Get Mac OS X Lion: The Missing Manual now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.