Live data from Hacker News

Windows 11 will happily execute a binary compiled 30 years ago

twitter.com

211–220 of 424 posts

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

#211
post #86

All the people on that Twitter thread getting butthurt about it and complaining that Windows' backwards compatibility is a bad thing... WTF koolaid have they been drinking? I don't often sing Microsoft's praises but backwards compatibility is something they get absolutely right: something they've always got right. Everything doesn't have to be changing and breaking all the time and, to me, it's a mark of maturity whe…

The Linux world would benefit strongly from having a much bigger commitment to backwards compatibility in foundational libraries. Obviously there is nobody who can force e.g. OpenSSL to keep supporting old versions or to provide them as wrappers over the latest version, or to force GTK to keep around working versions of libraries exposing all interfaces dating from GTK 1.0 onwards. But if we could have a project to d…

So many people dismiss Tcl as near garbage, but Tcl/Tk applications written more than 20 years ago still run as intended including GUI, and they run on Linux, Windows and Mac. You just install a new --or old, whatever-- version of Tcl/Tk and the scripts will run, agnostically. I have a few I made myself 15 to 20 years ago and at least with those I never have to worry about distro upgrades, repositories or libc version.

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

#212

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…

From where I'm sitting this looks like an excellent argument for breaking backwards compatibility. All those bullshit hacks are a maintenance and debugging burden for someone and a tax on the whole rest of the operating system -- and I'd argue that it really shows.

If it had been a piece of shovelware I doubt they would have bothered. But there were some applications and games like this (Myst also comes to mind) that were so main stream MS may have had them on a punch list of apps to test before a release. When a game or app is sort of a poster child for “why should I buy a pc?” they didn’t have much choice. For countless other apps consumers had to fiddle with voodoo HIMEM configs and other such things you might hear rumored on street corners late at night trying to work so binary magic. I’ve heard the Sim City example before and I think it gives MS entirely too much credit for being OCD on compatibility. Plenty of things simply broke.

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

#213

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 user's software _has_ to run. My concern is that a lot of security issues may have come from this. A clever attacker could grab recently freed memory from one of these programs and inject malicious code to enjoy whatever other weird privileges the original program has, because marketing said it can’t crash.

This actually improves security by preventing UAF.

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

#214

Earlier quoted context omitted.

From where I'm sitting this looks like an excellent argument for breaking backwards compatibility. All those bullshit hacks are a maintenance and debugging burden for someone and a tax on the whole rest of the operating system -- and I'd argue that it really shows.

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 NT kernel interfaces are lovely. I’m not at all a windows fanboy and haven’t done windows dev in well over a decade, but when I did the APIs were lightyears ahead of the competition. And Jeffrey Richter’s books were a marvelous resource on the documentation side.

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

#216

Earlier quoted context omitted.

> 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.

There's an absurd number of components to the Windows Kernel, so here's a kind of disjointed list of various things, from different time frames. Windows Research Kernel - https://github.com/HighSchoolSoftwareClub/Windows-Research-K... - More or less Windows XP I/O Completion ports - https://learn.microsoft.com/en-us/windows/win32/fileio/i-o-c... - io_uring, but mostly better, since NT 3.5 General architecture info: h…

As an historical aside, I’m 99% sure that the handle pattern had its origins in the 68k Mac system software. It is pretty cool to give the OS liberty to move your memory around at will without breaking behavior.

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

#217

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…

From where I'm sitting this looks like an excellent argument for breaking backwards compatibility. All those bullshit hacks are a maintenance and debugging burden for someone and a tax on the whole rest of the operating system -- and I'd argue that it really shows.

>From where I'm sitting this looks like an excellent argument for breaking backwards compatibility.

It's precisely because of that backwards compatibility, insane in both the workings and the result, that keeps most people using Windows.

People use computers to get stuff done, and Windows lets people use the absolutely massive library of Windows programs whether it was written today or over 30 years ago.

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

#218

Earlier quoted context omitted.

You haven't used Windows in quite a while have you ? Past Windows 7 it's been sliding downhill into bullshit UX, crapware, backend migration to Linux almost exclusively, etc. Random things on top of my head : MacOS doesn't come with candy crush, Instagram, TikTok, Spotify etc. prepopulating your start menu. Phone home telemetry and ads in OS ? Yummy Dealing with Windows dev environment is always a PITA eventually - u…

>Phone home telemetry and ads in OS ? MacOS also has telemetry. >For backend stuff it's almost implicit that you're running on Linux in prod and macos is well supported because it's fairly similar. Then Windows would be better than MacOS in this regard because WSL2 is exactly Linux, not just "fairly similar" to Linux. >stuff randomly breaking between updates What stuff broke for you between updates? Our entire DS tea…

> Right click -> Remove. Done. 2 seconds.

Surely you aren't making the argument that Microsoft is generous enough to let you remove their bloatware?

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

#219

Earlier quoted context omitted.

> 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.

There's an absurd number of components to the Windows Kernel, so here's a kind of disjointed list of various things, from different time frames. Windows Research Kernel - https://github.com/HighSchoolSoftwareClub/Windows-Research-K... - More or less Windows XP I/O Completion ports - https://learn.microsoft.com/en-us/windows/win32/fileio/i-o-c... - io_uring, but mostly better, since NT 3.5 General architecture info: h…

That's great collection of things

Maybe it will open eyes for people who for some reason acted as if Windows internals were some outdated tech mess just because Windows did some questionable choices when it comes to UI/UX

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

#220

Even more “insanity”: z/OS (aka OS360 aka MVS) supports programs going back to the 60s and I just talked with a DE at IBM who is still using a program compiled circa Apollo 11 mission.

That's common in the mainframe world. Unisys (ex Univac) still has its Dorado mainframes binary compatible with the Univac 1100 released in 1962.
Post reply on HN