Carbon Programming

Carbon is one of the application programming interfaces (APIs) for the Macintosh operating system, providing C programming language access to Macintosh system services. Carbon is one of four APIs that may be accessed from a Mac OS X program; the others are Cocoa, POSIX (including X Window), and Java. These APIs have some overlapping and some exclusive capabilities; as the functionality of Mac OS X changes they have not been kept in sync. Carbon provides a good degree of backward compatibility for programs to run on the now-obsolete Mac OS 8 and 9, but support for those systems has not been updated since 2001. "Carbon" has since become an umbrella term for C-language access to Macintosh-specific services, regardless of backward compatibility.

The transition to 64-bit Macintosh applications beginning with Mac OS X v10.5 has brought the first major limitations to Carbon. Apple does not provide compatibility between the Macintosh graphical user interface and the C programming language in the 64-bit environment, instead requiring the use of the Objective-C dialect with the Cocoa API. Although Apple has always claimed that Objective-C is easy to learn, the required transition has slowed development of large Carbon-based applications such Adobe Photoshop.

Table of Contents

 * /Getting started/
 * /Handling events/
 * /Window management/
 * /User input/
 * /Graphics/
 * /Audio/