Depends on your definition of 'run' - for example, old games (pre DirectX 9) now run through an emulated DirectX layer (they removed the native implementation in Windows 8), and it makes the games perform much worse on modern machines than they used to run on decent machines back in the day.
There are some reimplemetations like dgVoodoo2 and DXWrapper but they can be pretty buggy.
Yeah, that’s the downside to swapping architectures. x86 goes to great pains to be backward-compatible at the instruction level, and then MS puts a lot of effort into keeping Windows backwards compatible.
A couple years back on Windows 10 I successfully installed and used a PCB layout tool from 1998. I was shocked at how smooth it went. I think it needed to run as administrator but otherwise zero issues.
Windows NT has run on multiple architectures since day one with x86/PowerPC/Alpha/MIPS flavours, however x86/AMD64 has won over them.
Trying to add ARM desktop to the mix hasn't indeed been easy, because of backwards compatibility efforts, most folks don't care about Windows ARM laptops.
From what I can tell, it may have taken MS a while, but it seems like on the Windows side of things, amd64 emulation seems to work pretty flawlessly. There are still issues (i.e. Qualcomm's drivers not being as good as Nvidia's/Intel's/AMD's) but at least on the Windows side of the equation everything seems to work now.
Because MS doesn't require special emulation hardware like Rosetta2 does, I expect amd64 emulation on Windows to last a lot longer than it will on macOS, too.
> Windows NT has run on multiple architectures since day one with x86/PowerPC/Alpha/MIPS flavours, however x86/AMD64 has won over them.
True in theory, but in practice you're not going to take a Windows NT PPC .exe and run it anywhere today. Apple's done a decent job with Rosetta and Rosetta 2 doing CPU emulation when doing the transitions but I don't think they've ever targeted the same "You can run Windows 95 x86 .exes on Windows 11 x86-64" backwards-compatibility goal.
My experience with OSX and iOS backwards compatibility is similar to the post author's: things might break once in a while on a long timeframe but it's usually pretty easy to rebuild for a newer version. This works fine so long as the company that owns the source code actually still exists and is willing to build a new version.
Not really, depends from what era as well, even though Windows is more backwards compatible.
Win16 is only supported up to Windows 10.
Win32 did not run in special variations of Windows 8, like Windows RT tablets, where only UWP was supported (guess why they didn't took off).
All Windows versions that descend from Windows NT, also support many architectures, only a few had x86 emulators.
The latest attempt to push Windows on ARM, only started taking off with Arm64EC binaries, which are the Windows version of fat binaries, and the emulator isn't as good as Rosetta.
Finally even Microsoft does indeed drop functions every now and then, even if that is a seldom event.
Then the random exe might appear run, but crash into issues like modern HDPi, new security model,...