Intel to ARM for Developers: Busting the myths

Moray Taylor
Jul 13, 2020 · 3 min read
Photo by Studio Republic on Unsplash

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

Not really.

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.

Mac O’Clock

Medium is an open platform where 170 million readers come to find insightful and dynamic thinking. Here, expert and undiscovered voices alike dive into the heart of any topic and bring new ideas to the surface. Learn more

Follow the writers, publications, and topics that matter to you, and you’ll see them on your homepage and in your inbox. Explore

If you have a story to tell, knowledge to share, or a perspective to offer — welcome home. It’s easy and free to post your thinking on any topic. Write on Medium

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store