[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Chicken-users] Re: MacOS X is its' own beast

From: Raffael Cavallaro
Subject: Re: [Chicken-users] Re: MacOS X is its' own beast
Date: Wed, 16 May 2007 10:57:48 -0400

On May 16, 2007, at 3:55 AM, Thomas Christian Chust wrote:

But I would consider the Mach interfaces internal API and
only the BSD, Carbon and Cocoa interfaces public API, because it would
be pretty tedious to write anything useful using only the Mach
interfaces and because otherwise I also would have to claim that Carbon and Cocoa are not native APIs on MacOS X but rather compatibility layers
for MacOS <=9 and OpenStep just like the BSD subsystem is a
compatibility layer for other UNIX flavors.

This is really just a matter of marketing. Apple now considers Mac OS X "Unix" and considers BSD and X11 core OS components: < OSX_Technology_Overview/SystemTechnology/chapter_4_section_2.html#// apple_ref/doc/uid/TP40001067-CH207-TPXREF101> but those who have been using Mac OS X since the first releases remember that the BSD subsystem used to be an *optional* install in early versions of Mac OS X. There were many early Mac OS X machines which had no BSD subsystem on them at all.

Similarly, Apple lists Java support in the Core OS section, presumably because that document: < OSX_Technology_Overview/SystemTechnology/chapter_4_section_2.html#// apple_ref/doc/uid/TP40001067-CH207-BCIEHIBD> was first written when Apple was at pains to give the appearance that Mac OS X was a great platform for doing Java development.

But this more recent diagram shows Java (probably more properly) as a much higher level Application Framework on their System Architecture page, no doubt because Apple no longer cares nearly as much about marketing Mac OS as a Java platform:

The reality (as seen in chapter 2 of Amit Singh's Mac OS X Internals) is that everything is built more or less in layers:

Core Services and JVM
Graphics/Multimedia (OpenGL, Quartz, Core Audio, Core MIDI, QuickTime)
Application Environments (Classic, X11, Carbon, Cocoa, WebObject, Quicktime, Java AWT, Swing)
GUI (Aqua)

Apple considers all of Core Services/Carbon, Cocoa, and Quicktime (but not Java) to be "native" APIs.

Raffael Cavallaro, Ph.D.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]