Cocoa / Carbon with #define? Not bloody likely!
....
I mean, really, in 2001 I could understand the appeal of supporting both OS 9 and OS X with one source. But supporting OS 6? Today, in 2007? For fun??! Weird.
I still have MPW Pascal (and C) on my Mac SE/30. It is fun dumping my latest source code projects over to that platform and watching it compile for 2 hours! And the thing will actually run!
I have striven to totally divorce my Operating System dependant calls, such as drawing and event handling, from the rest of my programs, which are in highly portable C.
My chess program runs under every Macintosh ever made (except the latest Mac OS) and, with maybe 3 or 4 #define changes, I can get it to run under WindowsXP, Windows2000, or a Tru64 flavor of Unix.
It's really not THAT hard to do compared to the search engine stuff.
The beauty of it is: The drawing environment/Operating System can change ad infinitum, if I bracket the #defines properly, the thing should be able to run into the "forever future" without too much change.
I can see this will change now with all that NSString stuff...