The element carbon is an essential building block for life on earth. For C programmers, Apple’s Carbon is the essential building block for applications on Mac OS X. With Carbon, you not only gain the benefits of Mac OS X, but you do so while using some of the simplest traditional C interfaces available. This combination makes it easier than ever to create world-class applications for a world-class operating system.
A programming interface is the set of functions and data structures defined by one piece of software, such as an operating system service, for use by client software, such as applications and device drivers. For example, you would access one programming interface to enable your application to print and another to manipulate your application’s menus.
Carbon was originally designed to support the evolution of the Mac OS. Apple updated and reimplemented programming interfaces written for earlier versions of the Mac OS to take advantage of new features and enhancements in Mac OS X. Mac OS X brings many modern operating-system features to the Macintosh, including:
Aqua look and feel. Apple’s new user interface is available only to applications that run natively on Mac OS X. Aqua provides a feast of visual effects—active buttons pulse, icons dance, windows spring to life—and showcases the sharpest graphics ever seen on a personal computer.
Carbon is especially useful for developers who need to update older Mac OS code to run on Mac OS X. This book doesn’t cover this porting process, but if you’re interested, see Inside Carbon: Carbon Porting Guide (listed in Appendix A).
In addition to updating older features, Mac OS X adopts some industry-standard practices and introduces brand new technologies. To support these features for C-language programmers, Apple added new programming interfaces to the venerable Mac OS. The collection of updated and new programming interfaces is called Carbon.
As shown in Figure 1.1 Carbon is one of several application environments available on Mac OS X.