Live data from Hacker News

Windows 11 will happily execute a binary compiled 30 years ago

twitter.com

111–120 of 424 posts

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

#111
post #12

yes it can run things that don't use much of the API surface (just using libc? probably fine) however try running a game from the Windows 95/98 days and you've got a maybe 50/50 chance of it working e.g. they changed the return code from BitBlt from 95/98 -> XP, they used to return the number of scanlines but switched it to a boolean same with the heap management functions, directory traversal functions, etc

Try running something from only ONE year ago on Linux and it very often won't work, unless it's an Appimage or Flatpak, or you're on Nix,

They might not break userland but Qt and GTK do the breaking for you. Python joined the party recently. Random DBus daemons might be missing, etc.

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

#112

Earlier quoted context omitted.

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.

ELF came out in 1994, kernel 1.0.9.

Slackware 2.0 was one of the first distributions to ship it.

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

#113
FWIW, Beavis and Butthead in Virtual Stupidity (1995) runs perfectly fine in Windows 10/11 with compatibility mode enabled. No need to test anything else as that's arguably the apex of software (and humanity's collective output).

https://www.myabandonware.com/game/mtv-s-beavis-and-butt-hea...

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

#114

See also https://www.joelonsoftware.com/2004/06/13/how-microsoft-lost... one of the developers of the hit game SimCity, who told me that there was a critical bug in his application: it used memory right after freeing it, a major no-no that happened to work OK on DOS but would not work under Windows where memory that is freed is likely to be snatched up by another running application right away. The testers on the Win…

Counter-example: Soldier of Fortune is broken on modern windows because of a misapplied compatibility hack. Rename the binary and it works with no problems. This is an awful way to implement backwards compatibility. Opaque and ad-hoc. They have been using similar toolset to break competitors applications. The choice of what old version of windows to run the program on is typically to try them one by one. Linux is no…

> They have been using similar toolset to break competitors applications

Source(s) ?

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

#115

See also https://www.joelonsoftware.com/2004/06/13/how-microsoft-lost... one of the developers of the hit game SimCity, who told me that there was a critical bug in his application: it used memory right after freeing it, a major no-no that happened to work OK on DOS but would not work under Windows where memory that is freed is likely to be snatched up by another running application right away. The testers on the Win…

Counter-example: Soldier of Fortune is broken on modern windows because of a misapplied compatibility hack. Rename the binary and it works with no problems. This is an awful way to implement backwards compatibility. Opaque and ad-hoc. They have been using similar toolset to break competitors applications. The choice of what old version of windows to run the program on is typically to try them one by one. Linux is no…

> Mac is a mixed bag of excellent Rosetta and breaking apps for no reason.

They will probably retire Rosetta2 in a few years, like they did with Rosetta.

Apple usually seems to care about getting the bulk of applications to transition over, and the rest is just collateral damage/the devs should’ve just updated their software.

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

#116
That's cute and all, but it's fucking gzip. It doesn't have complex dependencies.

Pretty sure Linux could run a 30 year old gzip binary too. I've never needed to do that with gzip but I have definitely run binaries of a similar vintage without issue.

Windows backwards-compatibility fails miserably on non-trivial programs, you're generally pretty lucky if you can get something from the XP-era or older to work out of the box.

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

#117

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've only used MacOS for a year and only recently (maybe that matters), and I get all the same crappy inconsistent behaviour I do on Linux and did on Windows ~20 years ago when I last used it.

Apple has the benefit of controlling both hw and sw and still manage to mess it up.

Random crashes, slowdowns for long running sessions, crappy UI (eg those labels not checking their checkboxes in Settings), network weirdness (both USB ethernet dongles/hubs and internal WiFi), my USB audio interface picking up garbled audio which requires reselecting audio interface for it to fix itself...

Maybe I am doing something different, but it's even worse than Linux for the most part.

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

#118

Earlier quoted context omitted.

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.

I’ve also heard that the following trick still works: enter the email address no@thankyou.com with any password, this account has been tried so many times that it’s been locked out, so the installer will let you continue with a local account

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

#119

Earlier quoted context omitted.

Apple employs “Release Managers”, where a single person is ultimately responsible for deciding which features ship in new projects. Apple also, due to the hardware business, adheres to a release schedule where features must all be consolidated onto single branches (“convergence”), rather than letting individual teams ship incrementally.

Not to mention Apple only has to support a limited number of hardware and they regularly drop support for older hardware with each new major release.

That may be so, but all the annoyances I have with windows don't seem hardware-support related. The laggy menus, the clock in the taskbar that slides to the right outside of view, etc. This can't possibly be related to the fact I have a shiny, brand-new Wi-Fi card.

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

#120
Someone’s gonna come and say that linux has that too, and while technically true it’s quite hard in practice.

The kernel abi is stable, everything else is pure chaos, and this is mostly due to how applications are usually packaged in linux: your app could load (as long as it’s not in a.out format) but then would fail at loading most libraries. So effectively you need a whole chroot with the reference linux distro (or other runtime in general) and I’m not so sure you could find archives of 30 years old distros.

And I’m assuming that the kernel abi hasn’t actually changed a single bit and that no other interfaces changed either (stuff like /proc or /sys - /sys wasn’t even there 30 years ago i think).

And if you’re running an Xorg app, I wouldn’t bet my lunch on that level of protocol-level compatibility.

Post reply on HN