4 ms·
The architecture matters to me for a number of reasons - With Apple's history over the last few years, I don't expect the sheer amount of legacy software I use
by hrishios 6y ago
The architecture matters to me for a number of reasons -
With Apple's history over the last few years, I don't expect the sheer amount of legacy software I use on a regular basis to be taken care of when the new architecture comes around. Under legacy I'm also including applications with a single developer that can't really go multi-architecture, applications with niche communities that Apple will take a long time (if they do) getting around to writing drivers, providing documentation and support around porting.
Now the most common rebuttal to this is either Rosetta or that this is how technology works. For Rosetta, just based on the sheer difference in instructions I don't see an easy transition here that works off the bat. IMHO Intel's compiler design also beats Apple's, and I don't see niche apps working right or complete for a long time, and I see a lot of apps being left behind.
But I do understand that this is how technology moves forward, and I think that if they can make it happen (it's still a big if in my mind but I'm aware I know very little here), it will be a big step forward. If anyone can do it today, it's probably Apple. However, I have very little doubt that the transition will be fraught with problems, especially for power users, and it's a personal choice not to live through that transition with Apple.
I'll also add that while I see the strong possibility of personal computing moving to ARM, I'm less convinced by the arguments for cloud. As I primarily develop backends and do cloud arch, I would much prefer to build as close to deploy as conveniently possible.
Now for the iPad part - and this is simply how I feel watching and living in the ecosystem for some time - I think Apple intends to turn the Macbook into the iPad, with one big happy ecosystem of apps that work on everything. While I think this is great for the general public, I'm yet to be convinced that it won't end up with a mediocre experience on everything[1] especially the Macbook. I see the value of a computer that isn't a computer (what's a computer?), but I think that (intentionally) overlooks power-users that use the computer to build things for computers and video and audio professional, to name a few.
1 - With iPad apps being available on the Mac within days of release and minimal developer intervention, I cannot see how it would not be a mediocre experience. How do you do multi-touch on a trackpad?
Again, if anyone can do it it's Apple, but I don't believe it will be an easy journey or one that's going in a direction I can join in. I do still have the option to leave, so I am.
- Hackbraten 6y agoThanks for explaining. 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.
- hrishios 6y agoYou're right, and I wasn't talking about getting the instruction coverage right - most software will have some idiosyncracies that will need to be discovered and worked around. Apple, as big as they are, will still need to discover some of these things in prod post release, I would be surprised if they didn't. I'm sure Spotify and Safari and the like will work on launch day, but I'm not too sure about Postico, Disk Inventory X and others. All of this would be fine if I trusted Apple to care about developers and niche users, but I just don't see it.
- tbodt 6y ago3/4 of the practical issues you mention are either not issues or won't be issues on shipped hardware. JIT, page size, and assembly code will all behave the same as they do on x86.
- Hackbraten 6y agoJIT is subject to W^X on Apple Silicon, which isn’t a thing on x86. Existing JIT code usually doesn’t respect W^X so it will keep crashing until the app is fixed. Unless fixed, how do you feel it’s ever going to run natively? Not sure what you’re trying to say about assembly. How would a native Apple Silicon app be able to use a library whose source code contains x86_64 inline assembly?