> Server chips, maybe - but we can already see with Azure that competitive x86 chips from AMD have killed Microsoft's plans to deploy arm64 on their cloud service.
I have heard a theory that ARM Servers have a difficult time because there aren't really many developer machines that run ARM. With Apple changing that, there is a chance that the next round of ARM server chips will have better success.
I think this a contributing factor, but not the whole story. Another part is in order to switch to arm64, your entire software stack needs to support that architecture. If you are using linux and open source software, you'll be fine for most, maybe all of that stack, especially if you are willing to compile things yourself. But it just takes one component to block the transition.
I see it as being a bit like the move from Python 2 to Python 3, but easier.
Most software that can run on x86_64 can run on ARM after recompilation. Some software does require changes (anything using vector intrinsics for e.g.). But in general, the biggest barrier is the dependencies.
I agree. Cross-compiling is just awful in general, unless someone works really hard to put together a really high-quality cross-compilation toolchain which includes compiling, deployment, and remote debugging. That's what you get with the iOS and Android toolchains. But it just isn't there with Linux (or Windows) in general. There's a whole lot of work that's gone into the iOS and Android toolchains. It's easy to overlook that.