|
|
|
|
|
by imglorp
3928 days ago
|
|
Apple has been very serious about not wanting you to know what's going on in your machine since around 1984. The first Mac needed an extra-long hex wrench to open, a very uncommon tool at the time. They want good developer communities for good apps, yet they don't give them full control. |
|
What goes on underneath, while interesting, is not guaranteed to be stable. They might, say, replace x86 with ARM one day, as they already replaced PPC with x86. If you're targeting "the OSX platform", that doesn't affect you; you just hit rebuild in XCode. If you're targeting the underlying computer, you're screwed. Apple doesn't want you to be screwed (really, they don't!), so they try to disincentivize relying on anything below the public API.
Compare this to Microsoft, where the Windows team deals with cases like these[1] by inserting compatibility shims to keep the behavior of applications using undocumented, non-public-APIs (or munging kernel-shared opaque structs, even) stable between OS releases. While it's great for end-users—their apps don't break—it incentivizes relying on private APIs, because Microsoft will effectively keep your app running for you.
[1] http://blogs.msdn.com/b/oldnewthing/archive/2003/12/23/45481...