To add to yesterday’s list of significant Apple technologies of the decade, and prompted by a comment from Fraser Hess, it’s worth mentioning Carbon.
I’m by no means an anti-Carbon bigot - I’m writing this in BBEdit, which is probably one of my most used apps - but many people were in the early days of Mac OS X. I never really indulged in the fantasy that Cocoa apps were some kind of utopia simply by virtue of the language and API that they used.
Today, Carbon is mostly forgotten. Not forgotten and gone, but its existence is rarely jarring in the way that it once was. The distinction is no longer ‘Cocoa good, Carbon bad’ but rather ‘Good apps good, bad apps bad’. There are some bad Carbon apps, and there are some truly awful Cocoa apps.
Anyway, I was reminiscing. If you think about the history of Apple’s ‘next generation OS’ efforts prior to 1997, it is a near-total wasteland. Between the Taligent disaster and the Copland failure, a conventional wisdom started to form: that it would be impossible to take preemptive-multitasking 68k/PPC Mac Toolbox applications and move the whole show into a modern operating system with preemptive multitasking and protected memory.
What Apple has done with Carbon is somethng that a lot of people thought was simply too challenging an engineering task. Today, we have those applications from the System 7/Mac OS 8 era running on a preemptive multitasking, protected memory OS. Not only that, but they’re running on Intel hardware.
This is not to belittle the work that developers of Carbon apps had to do in order to become ‘modern Mac apps’ along the way. It was daunting at times, I’m sure, but much less daunting than a full Cocoa rewrite.