Live data from Hacker News

Windows 11 will happily execute a binary compiled 30 years ago

twitter.com

91–100 of 424 posts

Re: Windows 11 will happily execute a binary compiled 30 years ago

#91
post #51

I'm going to go ahead and say operating systems that don't work this way are the exception. Running a 30 year old binary isn't all that big a deal. Pretty much every mainstream system does so every day in its day to day operation.

iOS and Android aren't 30 years old, so that's not possible. Assuming you get by signing/appstore/etc, I don't think you can take a compiled app from early iOS and run it on an iPhone now; Apple removes old apis and there's the whole 64-bit transition too.

Google isn't as aggressive and most? apps are bytecode only, but I kind of don't expect an apk for Android 1.0 to function properly if run on an Android today. At least if it does anything advanced with networking or needs permissions that changed a lot.

Linux should work if it was static compiled, and probably helps if it doesn't use audio; because Linux audio has changed a lot in 30 years. A dynamically linked Linux binary from 30 years ago is nearly hopeless, because it would have been linked against a different libc that's in common use today, and I doubt that will be on your system today. If you had the full filesystem, it should run in a chroot.

MacOS was System 7 in 1993, on 68k, not power pc. Those applications aren't running on your M2 without emulation. Dropping 32-bit support doesn't help either, of course.

FreeBSD 1.0 was released in November 1993, so it's not quite 30 years old, but I suspect a static compiled app may work, but libraries will be hard. FreeBSD makes compat packages to get libraries to run older software, but I don't see one for 1.x or 2.x, the package for 3.x was marked expired in 2010, but compat4x seems alive and well; that gets you 20 years of probable compatability.

Re: Windows 11 will happily execute a binary compiled 30 years ago

#92
post #51

I'm going to go ahead and say operating systems that don't work this way are the exception. Running a 30 year old binary isn't all that big a deal. Pretty much every mainstream system does so every day in its day to day operation.

try running a plain c linux userspace program from the 90s without recompiling it on any modern distro of your choice

Specifically you can't run a.out binaries anymore and ELF came about in 98.

So that's a pretty hard limit. Linux can run binaries that were compiled to the latest binary standard in 98.

Re: Windows 11 will happily execute a binary compiled 30 years ago

#93
post #63

What I find so frustrating is that Windows, under the hood, is so solid. It's just the UI with Bing/Ads/telemetrics/etc integration is so crap, like they've ruined a solid OS with crappy surface level stuff.

You forgot the mandatory MSFT accounts to sign in with no way around last I checked (a few months ago).

Is this Windows 11? On 10 Pro you were just able to click past it. Need it for office though, I think.

Re: Windows 11 will happily execute a binary compiled 30 years ago

#94
post #63

What I find so frustrating is that Windows, under the hood, is so solid. It's just the UI with Bing/Ads/telemetrics/etc integration is so crap, like they've ruined a solid OS with crappy surface level stuff.

You forgot the mandatory MSFT accounts to sign in with no way around last I checked (a few months ago).

Last time I checked you could log in locally if the install process never detected an internet connection. A terrible work around but (at the time) a functional one.

Re: Windows 11 will happily execute a binary compiled 30 years ago

#95
post #63

What I find so frustrating is that Windows, under the hood, is so solid. It's just the UI with Bing/Ads/telemetrics/etc integration is so crap, like they've ruined a solid OS with crappy surface level stuff.

It's a bit surprising that there isn't a project that takes the old Windows "shell replacement" (LiteStep, etc) idea a bit further and replaces the majority of the Windows userland. That's probably more challenging now than it was in the XP-Vista-7 days but should still be doable.

Re: Windows 11 will happily execute a binary compiled 30 years ago

#96

Earlier quoted context omitted.

It's as if, it's a product made by a giant corporation with over a dozen different teams of skilled people, with different managers and different visons on how their own team's work should impact the final product for their own career advancement purposes.

Sure. Apple is also giant and (probably?) fits those descriptors as well. Why is Mac so solid under similar circumstances?

I suggest hearing to ATP Podcast or Upgrade rants regarding how "solid" macOS happens to be.

Re: Windows 11 will happily execute a binary compiled 30 years ago

#97

XP games don't work on Win7. Doubt they fixed it for Win10 or whatever the current version is.

That is very hit or miss. Out of the 1200 or so I own I have maybe 20 or so that do not run because the game did something weird with the APIs (or starforce).

I don't have nearly as large sample size, but all the games I used to play on XP work fine on W10. And I don't think I've used the compatibility mode, ever.

Actually yes, C&C Red Alert 2 was running slow, but the community came up with patches that make it play nice, including the multiplayer which now works better than it did back in 2000.

Re: Windows 11 will happily execute a binary compiled 30 years ago

#98

Earlier quoted context omitted.

It's as if, it's a product made by a giant corporation with over a dozen different teams of skilled people, with different managers and different visons on how their own team's work should impact the final product for their own career advancement purposes.

Sure. Apple is also giant and (probably?) fits those descriptors as well. Why is Mac so solid under similar circumstances?

>Why is Mac so solid under similar circumstances?

Where do you see MacOS ruining 30 year old binaries?

Re: Windows 11 will happily execute a binary compiled 30 years ago

#99
post #41

Earlier quoted context omitted.

That's not similar at all! Windows takes the "Linux way" of "not breaking userspace" seriously. OpenBSD has other goals - some sense of minimality and clarity, but this is not one.

And unlike Linux, has a stable ABI.

Linux has a stable userland ABI

OpenBSD doesn't even have that: if you don't reboot quickly after installing a major upgrade you're going to have a bad time

whereas you can run ancient userland on more modern Linux kernels (as evidenced by the container ecosystem)

Re: Windows 11 will happily execute a binary compiled 30 years ago

#100
post #57

So much so that even only linux, the most stable API arguably is win32 through wine. Atleast for desktop related tasks.

Are the compatibility issues on Linux really an API issue or having incompatible, newer versions of libraries? The effect is the same, your old program doesn’t run, but the cause is very different.

The latter. Old versions of libraries aren't maintained and you're on your own to compile effectively from scratch an entire distro's worth of libraries. Ironically, it should be easier to have as strong backwards compatibility on Linux as Windows, since all .so files are versioned and almost never break the API within the same major version, so you're spared the DLL hell of a program linking with blah.dll expecting it to be version 1, but you have version 7 installed. On Linux the program would link with libblah.so.1, not the libblah.so.7 you have installed.
Post reply on HN