Preferences

I have ported applications to Mac OS X, including applications that other people wrote and ones that I wrote. Let's say that you're starting with a C or C++ application using the Macintosh Toolbox APIs, built with MPW or CodeWarrior. A common path is:

1. Switch to using the Carbon API, and create a "carbonized" application that works on both Mac OS 9 and Mac OS X (same executable for both platforms, basically a special executable format and some restrictions on how you used various APIs)

2. Once you don't care about Mac OS 9 support, migrate to Project Builder (or at least GCC)

3. Eventually, migrate to Cocoa

The path was set up so that you could stop at any point along the way and keep shipping your application. In my personal experience, steps #1 and #3 could be difficult and labor-intensive, but step #2 was usually easy.

My understanding is that Quark got stuck and took too long to complete step #1, long enough that their customers didn't want to keep Mac OS 9 around just so they could use QuarkXPress and switched to InDesign.

Step #2 mostly involved fixing the parts of your code which used weird, non-standard C extensions that GCC did not support. Things like:

    (long)*ptr = x;
Adobe got stuck on #3, which is understandable because it's an enormous amount of work with a relatively low payoff. The main drawback of not completing step #3 is that you're stuck with a 32-bit application until you complete it.

This item has no comments currently.