Evolution and Backward Compatibility
Carbon was designed as a cleaner implementation of the preceding Macintosh API. As originally designed, Macintosh applications access data records and global variables within the operating system. These practices make programs more compact for primitive computers with scarce memory, but hinder the addition of features to the operating system. Carbon adds (and requires) more modern methods for manipulating this information, namely by calling accessor subroutines on opaque data types. The process of changing a program's syntax to use these functions is termed Carbonization. This makes the application file incompatible with operating systems prior to Mac OS 8.1 at least, although source compatibility is often possible using C preprocessor macros.
Other changes from the pre-existing API removed features which were conceptually incompatible with Mac OS X, or simply obsolete. For example, applications could no longer install interrupt handlers or device drivers.
Carbon was introduced in incomplete form in 2000, as a shared library backward-compatible with 1997's Mac OS 8.1. However, several versions passed before it was mature enough for general use, and late versions require Mac OS 8.6. It is generally necessary to establish the minimum CarbonLib and Mac OS versions when releasing a backward-compatible Carbon application. Versions of CarbonLib are not tied to particular versions of the operating system.
Read more about this topic: Carbon (API)
Famous quotes containing the word evolution:
“By contrast with history, evolution is an unconscious process. Another, and perhaps a better way of putting it would be to say that evolution is a natural process, history a human one.... Insofar as we treat man as a part of naturefor instance in a biological survey of evolutionwe are precisely not treating him as a historical being. As a historically developing being, he is set over against nature, both as a knower and as a doer.”
—Owen Barfield (b. 1898)