Mac OS X Cheetah: A Unix Heart with a Pretty Face
It’s March 2001, and the "Long Wait" is over. After the failure of Copland and the acquisition of NeXT, Apple has finally delivered a successor to the aging "Classic" Mac OS. Mac OS X 10.0, codenamed "Cheetah," is here.
As a developer, this is the most exciting thing to happen to the Mac in a decade. We’ve moved from a system with cooperative multitasking and no memory protection to a rock-solid Unix foundation (Darwin).
The Best of Both Worlds
Under the hood, it’s basically NeXTSTEP. We have a Mach kernel, BSD sub-systems, and a powerful command line. But on top of that, Apple has built "Aqua"—a user interface so beautiful it makes you want to lick the buttons (as Steve Jobs famously said).
The transition for developers is... complex. We have three main paths:
- Classic: Running old apps in a virtualized environment.
- Carbon: A cleaned-up version of the old Mac APIs that runs natively on OS X.
- Cocoa: The sophisticated, object-oriented Objective-C framework inherited from NeXT.
// Cocoa/Objective-C feels like a breath of fresh air
#import <AppKit/AppKit.h>
@interface MyController : NSObject
- (void)sayHello:(id)sender;
@end
@implementation MyController
- (void)sayHello:(id)sender {
NSRunAlertPanel(@"Welcome", @"Hello from Mac OS X!", @"OK", nil, nil);
}
@end
The Performance Hit
Let’s be honest: Cheetah is slow. It requires a massive amount of RAM (128MB is the bare minimum, but you really want 256MB or more). The Aqua interface, with its transparency and shadows, pushes the hardware to its limits. And many features from the old OS (like CD burning!) are missing.
Looking Ahead
Cheetah is clearly a "version 1.0." It’s a foundation for the future, not a finished product for the masses. But for developers who love Unix but want a first-class GUI, this is the dream machine. The fact that I can open a terminal and run grep or emacs on my Mac is still blowing my mind. Apple is back in the game.