Live data from Hacker News

Windows 11 will happily execute a binary compiled 30 years ago

twitter.com

171–180 of 424 posts

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

#171
post #36

Earlier quoted context omitted.

Nice. OpenBSD does something similar, with the difference being that there are no exemptions for specific software—they expect developers to fix their broken programs.

Clearly missing the point. The OP mentions DOS, so this was the mid-90s. OpenBSD didn't exist (Theo hadn't burned all his bridges with NetBSD yet). There were NO updates. You bought software, games especially, in a shrink wrapped box at a brick and mortar store. Most people outside universities did not have internet access. If you were an extremely privileged few, you could download small patches from a BBS or online…

Gaming magazines shipped diskettes with game updates and patches.

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

#173
post #70

Microsoft's commitment to backwards compatibility is definitely one of the strengths of the Windows platform. On the flipside, it's also at the root at the insanity that is the forbidden word list in MS Teams channel names. https://learn.microsoft.com/en-us/microsoftteams/limits-spec...

[dead]

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

#174

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.

I think that's why they invented containers/virtual machines

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

#175

Earlier quoted context omitted.

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

> They will probably retire Rosetta2 in a few years, like they did with Rosetta. Counterpoint: The PPC-to-Intel version of Rosetta was licensed technology (QuickTransit); Apple was undoubtedly paying for it, possibly even per user, so there were financial reasons for them to get users off of it ASAP. Rosetta 2 was developed in-house by Apple, so there isn't the same hard timeline to get users to stop using it. I woul…

It could last longer if gaming with their game porting toolkit gets big enough to drive more Mac sales. Money talks.

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

#176

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.

The compatibility hacks are not "revert to old, terribly unsafe behavior". Rather, "use current, good behavior, lie to the application about what happened."

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

#177

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. > > Now, the upper layers however... You're not selling me on the idea that the compatibility layer has no cost by pointing out that the upper layers that reside over it are a mess. That would actually be my argument.

Would you consider LDPRELOAD a massive cost to Linux ? Because that's basically what it is.

You could give me the best kernel in the world, if I end up reading a file whenever I push a pixel to the screen, my performance will be dogshit. Windows's performance problems are not due to the kernel (or rather, not due to problems/bugs: some performance issues are just a choice. See NTFS's dreadful performance with Git: NTFS simply wasn't thought out for having thousands of very small files all being touched at the same time.)

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

#178

Earlier quoted context omitted.

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…

> Linux is no better with no stable ABI. I’m confused. Linus has repeatedly stated that the ABI should be stable, “we don't break user space”. There are exceptions, but any proposal that makes a breaking change to the kernel’s external symbols is very hard to push through. I don’t remember anything breaking because of a new kernel version except device drivers, which are part of the kernel anyway and should be compil…

> Linus has repeatedly stated that the ABI should be stable, “we don't break user space”.

Linus said that the userspace API to the kernel should be stable, which it mostly is. But a GNU/Linux system contains a lot more APIs (in userspace).

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

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

This. I use Tiny11 for this reason. The UI is still super inconsistent, but otherwise it’s fine. Mac bothered me by likewise becoming inconsistent, but also soldering everything so the machine is bricked when an SSD or battery dies. In the Linux world the UI has never been consistent, but what really bothers me is that everything is constantly changing unless one uses enterprise Linux, but then I don’t get hardware support so… Winders it is.

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

#180
post #99

Earlier quoted context omitted.

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)

The Linux kernel has a stable userland ABI. Other core components that makes up most Linux distros (e.g. libc, gtk, libc, curl, ssl etc) however do not.

[deleted]
Post reply on HN