I’m a bit more optimistic on several fronts. For example, Homebrew already has over 200 packages working on both Apple Silicon and Intel.
About Rosetta: I think the difference in instructions is overstated. Apple has tons of experience in that, and it shows. If the sheer difference in instructions were the only concern, Rosetta would work 100 % of the time.
Examples for actual translation issues in practice: - software that uses JIT but doesn’t meet the Apple Silicon restrictions yet; - software that makes assumptions on virtual memory page sizes; - software that’s (partially) written in x86_64 assembly; - native software that needs a library which is only available on Rosetta, or vice versa.
The majority of apps doesn’t fall under those cases though, and most seem to work fine already. Still, all those little special cases add up, and a couple important pieces of software still have a long way to go, such as GCC, OpenJDK, Chrome, and Firefox.
So I think you may have a point there about the niche apps. I’m betting on those issues to be solved eventually but what do I know. The points you’ve made do make sense, and I can see how one ends up leaving the platform.