Since Apple announced the switch from Intel to ARM, a lot of articles have been written, some of them are littered with alternative facts. Let’s examine a few of those…
Software will have to be re-written
No. They will be re-compiled*. Big difference.
99% of software will recompile with very minor changes, or more likely, none at all.
For most developers, it’ll be a matter of flicking a checkbox in Xcode.
There will be some unlucky souls that have dependency on a 3rd party library that isn’t available on ARM. This code will have to be replaced.
Big Sur will cause problems, I guarantee it, an Apple OS release always does, but it’ll cause those same problems on Intel too.
*And with Rosetta, not even that, most software will run un-altered. Older developers will remember the move from PowerPC to Intel, and how smooth that was, I’m not being sarcastic, it was a non-event. Apple has a proven track record of doing this stuff very well.
Software with ‘tweaks’ for Intel won’t run as fast
Tweaking at a chipset level is almost unheard of outside of game or kernel development.
The truth is, less than 1% of developers will go anywhere near Assembly.
I’ve been a software developer for over 20 years, it’s incredibly rare to do this, you’re more likely to get bitten by a unicorn. I’ve been a Mac developer for over 20 years, an iOS developer since the first iPhone was released. I’ve never done it, I’ve never heard of anyone doing it, I’ve never heard rumours of anyone doing it.
It maybe too strong a way of putting it, but if someone claims to be ‘tweaking for ARM’, you can confidently assume they are either working on a kernel, or they are a liar.
Many software developers love to promote the idea that we are all knee deep in CPU instructions, and the truth is, less than 1% of developers will go anywhere near Assembly.
Assembly makes code unportable and harder to maintain. If you’ve inserted Assembly into your code, you better have a good reason, or your colleagues are not going to be happy.
It’ll make it easier to port from iOS to macOS
The bulk of the work of porting from iOS to macOS will be changing from UIKit to Cocoa, it’s the availability of UIKit on the Mac that makes it easy, not the CPU change.
This ties into the previous point, hardly anybody is doing CPU specific work.
ARM will bring higher performance
If you watched the WWDC keynote like I did, you may have noticed there was a lack of concrete numbers.
The more I watched, the more noticeable it became, either Apple didn’t have benchmarks, or they didn’t have any they wanted to make public.
The fact is, maybe Apple has a next-gen CPU in the pipeline that blows everything else away, maybe they don’t, but we just don’t know.
We don’t know if Apple can compete at the high end, and the keynote did nothing to remove that uncertainty.
I’m not saying it won’t, I’m saying there is very little evidence to suggest that it will.
There is an egotism in the software development industry that loves to make things seems harder than they actually are.