My Windows 10 machine runs 32-bit apps alongside 64-bit apps just fine. It's no big deal on the Intel architecture. Why is this such a hard thing for Apple to do?
For the same reason it is a hard thing for Microsoft to run 16bit apps alongside 64bit apps even though Wine shows that it is perfectly possible for the vast majority of them (those that could run under 16bit protected mode Windows 3.x, which is pretty much all of them): it isn't really a matter of it being hard, it is more a matter of them not wanting to bother (or "allocate the resources to do so" in corporatespeak).
If you’ve ever followed Raymond Chen’s Microsoft Blog, you would get an idea of the hacks upon hacks upon hacks that it takes to keep backwards compatibility in Windows. It’s also well known how slow the Windows release cycle is because Microsoft won’t break compatibility.
Windows is a behemoth compared to MacOS in terms of processor requirements and memory. There is a reason that Microsoft couldn’t get Windows running well on low end and low power ARM processors.
But how far back would you like Apple to go with backwards compatibility? 68K programs? PPC programs? Keep porting Carbon APIs to newer platforms forever?
Right, imagine simplifying and shedding all of that technical debt. You can move faster, reduce the QA matrix, and cut down the number of permutations that developers need to consider and support.
I would imagine it might actually be an indication that some ARM-based Macintosh models are on the horizon since they dropped 32-bit on the ARM side a while back.
Apple killed 32Bit arm in the A11 and as a result gained extra space on the chip for more cores and the Neural Processing module. It’s highly expected that they will eventual build ARM Macs and that can’t happen if 32Bit software is common.
I can't see how the two things might be related. You still have to recompile everything when moving from x86 to Arm, and in general code that has issues moving from 32 bits to 64 it's because it's full of 32 bit assembly (which would be rewritten in order to move to Aarch64) or it does nasty stuff like storing pointers in 32 bit integers (instead of using uintptr_t and the like).
I can't really see any extra complexity arising from doing x86→Aarch64 instead of x86_64→Aarch64. I think they are doing step to force people to rebuild old apps, so that
1. They might consider providing Apple a Bitcode™ representation that they can use in the future when switching to Aarch64;
2. They get rid of all those old nasty Carbon apps;
3. They kill the viability of older third party tools, such as Wine on macOS (which will be either forced to switch back on using X11 + providing 32 bit Darwin libraries, or writing an insane amount of thunks), further pushing people towards either rewriting old apps with SwiftUI or Electron (both alternatives that would make the ARM switch quick and easy)
MacOS has supported 32-bit apps and 64-bit apps for years. I don’t know why Apple has decided to drop support for 32-bit apps.
I still use Photoshop CS6 because I never signed up to the subscription model so if I upgrade to Catalina I won’t have Photoshop anymore (unless I run it in a VM).
The linked source is directly from Adobe and directly contradicts the claim that "you need 13.1 to launch in 64-bit."
The source says:
> Photoshop CS6 and CC only install a 64-bit version on Mac OS.
Further, it says:
> Photoshop CS5 installs a version that can launch in either 32 bit or 64 bit when you install on a 64-bit version of Mac OS (Mac OS X 10.5 or later).
If CS5 install can launch in 64-bit, it wouldn't make sense for CS6 to be 32-bit only from the first version.
Even further, I know from personal experience that your claim is highly unlikely. This is a screenshot of Photoshop CS5 (12.0.4) running in 64-bit on my machine (High Sierra). Noticed it says "12.0.4 x64."
I am not sure of the source of your information, but it's simply incorrect.
Edit: This is another article directly from Adobe.
It says:
> On Windows, both Adobe Photoshop CS6 and Adobe Photoshop CS6 Extended have the option to run natively in either 32-bit or 64-bit editions. On Macintosh, only a 64-bit edition is available.
I don’t know what to tell you. Every time I launch CS6 on my Mac it tells me that it won’t run on Catalina.
I have no reason to believe that’s not true.
I think it’s quite possible that when Adobe says “64-bit” they’re not saying exactly the same thing that Apple means. I’m no expert with macho binaries and MacOS library linking.