I've never understood Apple's desire to use Objective-C. Object oriented programming for core operating system functions is generally frowned upon. For the less essential parts of the operating system, wouldn't it make more sense to use C++, the faster and natively compatible version of Objective-C?