Carbon (API)

CarbonCarbon APICarbonLibCarbonizedApple CarbonApple CarbonLibCarbon within Mac OS X
Carbon is one of Apple’s C-based application programming interfaces (APIs) for macOS (formerly Mac OS X), the operating system that powers Macintosh computers.wikipedia
144 Related Articles

MacOS

Mac OS XOS XMac
Carbon is one of Apple’s C-based application programming interfaces (APIs) for macOS (formerly Mac OS X), the operating system that powers Macintosh computers.
Mac OS applications could be rewritten to run natively via the Carbon API; many could also be run directly through the Classic Environment with a reduction in performance.

Mac OS 9

Mac OS 9.19Mac OS 9.2.2
Carbon provided a good degree of backward compatibility for programs that ran on Mac OS 8 and 9.
The final updates to Mac OS 9 addressed compatibility issues with Mac OS X while running in the Classic Environment and compatibility with Carbon applications.

Deprecation

deprecateddeprecatedeprecating
Apple did not create a 64-bit version of Carbon while updating their other frameworks in the 2007 time-frame, and eventually deprecated the entire API in OS X 10.8 Mountain Lion, which was released on July 24, 2012.

Mac OS 8

Mac OS 8.1Mac OS 8.5Mac OS 8.6
Carbon provided a good degree of backward compatibility for programs that ran on Mac OS 8 and 9.
Mac OS 8.1 is the earliest version of the Mac OS that can run Carbon applications.

Apple Worldwide Developers Conference

WWDCWorldwide Developers ConferenceWorld Wide Developers Conference
When this plan was unveiled at the Worldwide Developers Conference in 1997 there was some push-back from existing Mac OS developers, who were upset that their code bases would effectively be locked into an emulator that was unlikely to ever be updated.
In 1998, in response to developer comments about the new operating system, the big announcement at WWDC'98 was the introduction of Carbon, effectively a version of the classic Mac OS API implemented on OpenStep.

MacApp

MacApp framework
Over time, a number of object libraries evolved on the Mac, notably the Object Pascal library MacApp and the Think Class Library (TCL) in Pascal, and later versions of MacApp and CodeWarrior's PowerPlant in C++.
MacApp had a brief reprieve between 2000 and 2001, as a system for transitioning to the Carbon system in MacOS X.

Classic Mac OS

Mac OSMacintoshMac OS Classic
Developers could use the Carbon APIs to port their “classic” Mac software to the Mac OS X platform with little effort, compared to porting the app to the entirely different Cocoa system, which originated in OPENSTEP.
These included new APIs for the file system and the bundling of the Carbon library that apps could link against instead of the traditional API libraries—apps that were adapted to do this could be run natively on Mac OS X as well.

MacOS Catalina

macOS 10.15 CatalinaCatalinamacOS 10.15
Carbon was officially discontinued and removed entirely with the release of macOS 10.15 Catalina.
32-bit applications no longer run (including all software that utilizes the Carbon API as well as QuickTime 7 applications, image, audio and video codecs).

Bridging (programming)

bridging
This conversion would normally have slowed the performance of Cocoa as the object methods called into the underlying C libraries, but Apple used a technique they called toll-free bridging to reduce this impact.
Apple Inc. has made heavy use of bridging on several occasions, notably in early versions of Mac OS X which bridged to older "classic" systems using the Carbon system as well as Java.

Darwin (operating system)

DarwinDarwin operating systemOpenDarwin
The underlying operating system itself was further isolated and released as Darwin.
In 2000, the core operating system components of Mac OS X were released as open-source software under the Apple Public Source License (APSL) as Darwin; the higher-level components, such as the Cocoa and Carbon frameworks, remained closed-source.

Application programming interface

APIAPIsapplication programming interfaces
Carbon is one of Apple’s C-based application programming interfaces (APIs) for macOS (formerly Mac OS X), the operating system that powers Macintosh computers. The new Rhapsody was relatively simple; it retained most of OpenStep's existing object libraries under the name "Yellow Box", ported OpenStep's existing GUI and made it look more Mac-like, ported several major APIs from the Mac OS to Rhapsody's underlying Unix-like system (notably QuickTime and AppleSearch), and added an emulator known as the "Blue Box" that ran existing Mac OS software.

Rhapsody (operating system)

RhapsodyApple RhapsodyRhapsody OS
The new Rhapsody was relatively simple; it retained most of OpenStep's existing object libraries under the name "Yellow Box", ported OpenStep's existing GUI and made it look more Mac-like, ported several major APIs from the Mac OS to Rhapsody's underlying Unix-like system (notably QuickTime and AppleSearch), and added an emulator known as the "Blue Box" that ran existing Mac OS software.
Bowing to developers' wishes, Apple also ported existing Classic Mac OS technologies into the new operating system and implemented the Carbon API to provide Classic Mac OS API compatibility.

Macintosh Toolbox

ToolboxToolbox ROM
Much of the Macintosh Toolbox consisted of procedure calls, passing information back and forth between the API and program using a variety of data structures based on Pascal's variant record concept.
Much of the Toolbox was restructured and implemented as part of Apple's Carbon programming API, allowing programmers familiar with the Toolbox to port their program code more easily to Mac OS X.

NeXT

NeXT ComputerNeXT Inc.NeXT Software
With the purchase of NeXT in late 1996, Apple developed a new operating system strategy based largely on the existing OpenStep platform.
Apple included an updated version of the original Macintosh toolbox, called Carbon, that gave existing Mac applications access to the environment without the constraints of Blue Box.

Mac OS X Server 1.0

Mac OS X ServerMac OS X Server 1.0 through 1.2 v3original version
The original Rhapsody concept, with only the Blue Box for running existing Mac OS software, was eventually released in 1999 as Mac OS X Server 1.0.
"Carbon", essentially a subset of "classic" Mac OS API calls, was also absent.

Xcode

Apple Developer's ToolsApple XcodeApple's Xcode
Binary compatibility between Mac OS X and previous versions requires use of a Preferred Executable Format file, which Apple never supported in their Xcode IDE.
Xcode supports source code for the programming languages C, C++, Objective-C, Objective-C++, Java, AppleScript, Python, Ruby, ResEdit (Rez), and Swift, with a variety of programming models, including but not limited to Cocoa, Carbon, and Java.

OpenStep

OPENSTEP EnterpriseOPENSTEP/MachOPENSTEP for Mach
Developers could use the Carbon APIs to port their “classic” Mac software to the Mac OS X platform with little effort, compared to porting the app to the entirely different Cocoa system, which originated in OPENSTEP. With the purchase of NeXT in late 1996, Apple developed a new operating system strategy based largely on the existing OpenStep platform.
After replacing the Display Postscript WindowServer with Quartz, and responding to developers by including better backward compatibility for classic Mac OS applications through the addition of Carbon, Apple released Mac OS X and Mac OS X Server, starting at version 10.0; Mac OS X is now named macOS.

Mac OS X 10.0

Mac OS X v10.010.0Cheetah (10.0)
Official Mac OS X support arrived in 2001 with the release of Mac OS X v10.0, the first public version of the new OS.

Interface Builder

.nibNIBnibs
Interface Builder allows Cocoa and Carbon developers to create interfaces for applications using a graphical user interface.

Display PostScript

DisplayPostscriptDPS
As part of this conversion, Apple also ported the graphics engine from the licence-encumbered Display PostScript to the licence-free Quartz (which has been called "Display PDF").
Apple chose to use this model for a variety of reasons, including the avoidance of licensing fees for DPS and more efficient support of legacy Carbon and Classic code; QuickDraw-based applications use bitmapped drawing exclusively.

QuickDraw

QuickDraw vector graphics
To address these problems, the Carbon API (a bridge between Mac OS 9 and Mac OS X) added additional parameters to some of the routines, allowing for the (opaque) storage of thread information and a new (non-polled) event structure.

Preferred Executable Format

PEF
Binary compatibility between Mac OS X and previous versions requires use of a Preferred Executable Format file, which Apple never supported in their Xcode IDE.
However, PEF is still supported on PowerPC-based Macintoshes running Mac OS X and is used by some Carbon applications ported from earlier versions for classic Mac OS, so that the same binary can be run on classic Mac OS and Mac OS X.

Copland (operating system)

CoplandCopland OSGershwin
In 2001 this foundation was coupled to the Carbon library and Aqua user interface to form the modern Mac OS X product.

Apple Inc.

AppleApple ComputerApple Inc
Carbon is one of Apple’s C-based application programming interfaces (APIs) for macOS (formerly Mac OS X), the operating system that powers Macintosh computers.

C (programming language)

CC programming languageC language
Carbon is one of Apple’s C-based application programming interfaces (APIs) for macOS (formerly Mac OS X), the operating system that powers Macintosh computers.