six colors

by Jason Snell & Dan Moren

This week's sponsor

Photos: A Take Control Crash Course - Jason's ebook about Photos, now updated for High Sierra & iOS 11.

Linked by Dan Moren

Apple’s Bitcode aims for CPU independence

Update: There’s some dispute over whether or not Bitcode can really enable CPU independence, as opposed to simply letting Apple better optimize iOS and Watch apps (and perhaps eventually Mac apps) down the road. This thread over at YCombinator gets into some of the technical details on the subject.

The anonymous poster Inertial Lemon dissected an interesting and under-discussed Apple announcement from last week:

The Apple Watch will be the first significant Apple platform completely freed from the shackles of ABI compatibility. With Bitcode, the S2 can have whatever architecture suits Apple’s needs. It doesn’t even have to be ARM (but given Apple’s investments, it will.) And if the S3 needs to do even crazier stuff, Apple’s compiler engineers just need to plug the new LLVM back end into the App Store. Developers and users won’t have to know or do anything.

The above discussion gets a bit technical, but the underlying point is this: Apple may soon be able to up and move one (or several) of its devices to a new CPU architecture with minimal need for third-party developers to rewrite their apps.

Bitcode’s raised some eyebrows here and there, since it could conceivably let Apple make changes to code without the developer’s knowledge or involvement, but if you start going down that road, there’s any number of nasty things Apple could do if it decided to become truly nefarious.

This is just another step in Apple’s long obsession with “controlling the whole widget.” If the company’s no longer dependent on a certain architecture or a specific company—Intel, for example, or Samsung—not only does it improve its bargaining position (“Hey, we can take our business elsewhere…”) but it means that it’s free to adopt newer technology as it becomes available.1

To my mind, this independence stems from the lean years of the ’90s, where Apple found itself locked into a platform that was improving much more slowly than its competitors, and had little power of its own over the situation. With Bitcode, Apple’s shaking a fist at the heavens and, like Scarlett O’Hara, declaring that it will never go hungry again.

  1. And, of course, as the original post points out, Apple had OS X running on Intel years before the company announced a switch to the new platform.  ↩