Live data from Hacker News

Windows 11 will happily execute a binary compiled 30 years ago

twitter.com

311–320 of 424 posts

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

#311
post #264

Earlier quoted context omitted.

People forget how every software developer had to spin up their own patch delivery infrastructure.

Back in the day it wasn’t even reasonably possible. You got a floppy/CD from the store and that was the end of the story. I mean, this is “Netscape just came out” times.

In the early 90s, we had a disk replacement policy and would mail people updated floppies on request (and a $10 S&H fee). Few people took advantage of it.

We then started hosting some patches on Compuserve, GEnie and Prodigy.

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

#312

Earlier quoted context omitted.

You're sitting on the point of view of a software developer. Microsoft's point of view is that the underlying software doesn't matter. The user's software _has_ to run. The Application Compatibility Database ( https://learn.microsoft.com/en-us/windows/win32/devnotes/app... ) is, overall, a relatively small component, and all it does is apply some shims if your executable is in that list. Performance issues in Windows…

> The kernel team is absolutely top tier. The kernel itself is of much higher quality than what you'd find on Linux, or MacOS. Have recommended sources for this or learning more? My experience with Windows doesn't match this at all, though from my perspective it's hard to tell if it's kernel as opposed to any of the layers above it.

Windows was kinda a wreck till “windows NT” they brought in David Cutler who did Vax/VMS to help architect it. It was pretty amazing the transition from 95/95/me/vista to windowsNT/2000/XP. They put my old operating systems book appendixes online which have details about windows 2000 (Mach and bsd are the other os covered)

https://bcs.wiley.com/he-bcs/Books?action=resource&itemId=04...

Check out appendix C for details on windows 2000 architecture or this which should link to the pdf.

https://higheredbcs.wiley.com/legacy/college/silberschatz/04...

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

#313
That shouldn't be considered remotely impressive. It should be seen as routine and expected, and if it doesn't work, that should be considered a hugely humiliating and unacceptable fail.

To be clear, I am not saying that it's not impressive in the shitshow that is 2023. I am saying what norms we should work towards.

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

#314
I used to believe this, but no longer.

Any Steam game that used the "Games for Windows – Live" service, and wasn't updated since the service shut down in 2014, would fail to launch on Windows 10 & later, because the DLLs for the service were removed. For a time, folks were able to download the DLL from third-party sites, but that doesn't work now.

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

#315

Earlier quoted context omitted.

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 (…

> Random crashes, slowdowns for long running sessions

I've been using Macs for a decade, and the only time I had this happen was on corporate laptops with antivirus software installed. Antivirus software are poorly written and they used to have constantly crashing kernel extensions. Apple has been deprecating kernel extensions in recent years, so the situation is improving. But the performance hit caused by antivirus crapware is unfortunately still a thing.

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

#316

Earlier quoted context omitted.

And it's worth emphasizing that Microsoft was/is incentivized to do this because especially with popular software, such bugs have a chance of resulting in users blaming Windows even if in reality it's the gamedev's fault. Similarly to how GPU vendors are incentivized to patch their drivers to fix bugs in a popular game release because the bugs might be blamed on the vendor instead of the dev.

I don't have the reference for it here, but in the first year Windows Vista was out >50% of crashes were due to buggy nVidia drivers. Microsoft assumed (incorrectly) that their ecosystem would get their shit together automatically. That nVidia would make solid drivers for the new Windows WDDM driver model. The year before Windows 7 came out I was working at a company (DivX ;-) making Windows software. We were getting…

Amazing story, thanks for sharing. It explains some of the sustained success of Windows perhaps.

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

#317

That shouldn't be considered remotely impressive. It should be seen as routine and expected, and if it doesn't work, that should be considered a hugely humiliating and unacceptable fail. To be clear, I am not saying that it's not impressive in the shitshow that is 2023. I am saying what norms we should work towards.

Agreed. There is absolutely no reason most statically compiled binaries should stop working.

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

#318
post #191

I have a command line Windows binary compiled over 30 years ago (June 1996) that won't run on Windows 10 (64 bit). Windows complains, "ANAGRAMS.EXE is not compatible with the version of Windows you're running. Check your computer's system information and then contact the software publisher." Is this issue specific to Windows 10, and would it work on Windows 11?

have you tried various compatibility options? right click -> properties -> compatibility there's a troubleshooter there, too

I just tried the troubleshooter, and it said it fixed the issue but it actually didn't: when I run the program, Windows pops up a modal (before it just displayed an error on the console) with a title bar that says "Unsupported 16-Bit Application" and a message reading, "The program or feature [...] cannot start or run due to incompatibility with 64-bit versions of Windows. Please contact the software vendor to ask if a 64-bit Windows compatible version is available."

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

#319
post #191

I have a command line Windows binary compiled over 30 years ago (June 1996) that won't run on Windows 10 (64 bit). Windows complains, "ANAGRAMS.EXE is not compatible with the version of Windows you're running. Check your computer's system information and then contact the software publisher." Is this issue specific to Windows 10, and would it work on Windows 11?

Is it a 16-bit executable?

Yes

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

#320

Earlier quoted context omitted.

Only if it is statically linked with everything it needs. Otherwise good luck resolving dependencies.

Even then it might not work because it could rely on a DBus daemon being there. Even a brand new binary might fail because it needs some external program they forgot to add to the dependencies list in the package, so you have to sift through to find the not at all obvious package that provides it. Or something was compiled without some option for unknown reasons so you're just SOL unless you want to compile stuff you…

How is that any different from any other program on any system failing because of a daemon not running? Inter-process communication exists on every operating system. IPC means your program's behaviour can be different depending on what other processes are running. This is not specific to Linux.

Your other point is equally as inane. Anything might fail because it requires some external program, or external data files, or any other external resource. A program might fail because it requires a particular hardware device to be plugged into your computer. None of that has anything to do with the operating system.

>Or something was compiled without some option for unknown reasons so you're just SOL unless you want to compile stuff yourself.

Oh no! The terribly, impossibly difficult task of running a program! How could you ever subject me to such a fate as having to compile stuff myself. You cruel beast!

Post reply on HN