Yea, there's a lot of (well deserved) shitting on Windows, but it's backwards compatibility is second to none. Not even Linux can give you a >70% chance that a piece of software or game you need/want from 1995 will still run (provided it's not 16bit only or needs a proprietary driver lmao) on a modern version of the OS
Months ago I wanted to run a lot of my old childhood games (mostly between 94 and 2001 release dates) for my own kids and I found most of them still installed and ran right out of the box on fully updated Win10, a lot of the rest required some fiddling with compatibility settings and the rest just didn't work because they were 16 bit only (You can still get them working natively if you install 32 bit Win10, but subjecting children to <4gb RAM is abuse) or some other weird issue so I fell back to ScummVM/DosBox for those
The comment you replied to says the opposite. It's a half-truth, but Linux+WINE does some backwards compatibility better than Windows.
First, Wine doesn't have an arbitrary limitation against running 16-bit executables AFAIK
Second, there is anecdotal evidence of some older games breaking to graphics driver updates on Windows, but running fine (or even faster!) on Linux thanks to a much more straightforward graphical stack (and the fact that DXVK is dark magic). Even something as simple as fullscreen mode support on old games can be a buggy and flickery pain in the ass, whereas on Linux the same binary will work flawlessly with any decent compositor.
I like to think of it like a defense mechanism. By ensuring old abandoned software won't work, you don't have to worry about it having a major security vulnerability. Any old software that still works probably isn't abandoned.
A lot of those old games have been repackaged for Windows as well on GoG or Steam, not all but a decent amount. Jazz Jackrabbit series I still play occasionally, there's a claymation point-and-click called The Neverhood (by the Earth Worm Jim guy) that works out of the box, and my personal favorite Battlezone 98 Redux which is a repackage of the game you can get on Steam, best multiplayer first person rts ever.
10 years ago is giving Apple too much credit. They were using Intel processors then, ARM now. For now, you can still run Intel applications, but that won’t last much longer.
More importantly, a 10 year old application is likely to use Carbon instead of Cocoa. Unless it’s an extremely simple application (i.e. hello world), it is unlikely to run.
Then there’s the depreciation of resource forks, a new filesystem, tons and tons of extra security restrictions, etc.
Carbon wasn't that prevalent 10 years ago. 15, maybe. 20, definitely.
10 years ago, Carbon was already officially deprecated, and it had clearly been a second-class citizen for years before that. Most apps were already using Cocoa at that point.
They could've easily continue going the Catalina way (you can allow 32-bit programs to run after a warning if upgraded from an older OS), but they didn't.
I don't understand why they forced 64-bit on Big Sur, it breaks so many old, non-updated apps and they know that.
The entire dev team has Macs. Most have Intels. Many are on M1. Some are on M2.
Security/IT teams feel the pain, dealing with all sorts of weird things. And their solution lately is saying "fuck it" and giving the dev a M2. Which is a bandaid as what if M3 and onwards continues to break something?
Fortunately, my team builds software and runs everything through docker.
It's not like this came out of the blue. The PowerPC to Intel transition was recent enough that it's still fully documented on the web with forum posts by frustrated users. It's Apple. Their attitude has always been that users have to deal with it.
Are they doing full blown ARM processor's now? I thought they still had enough devices less than three years old that still used Intel because of the COVID manufacturing delays.
Windows has a lot of legacy components, because there's this Fortune 500 corporation which still depends on it in 2023. Say what you want about Windows, but its backwards compatibility is unmatched. Windows also had 32-bit x86 CPU support until Windows 10, meaning that it could still run some 16-bit Windows 3.0 apps.
Windows is also a clusterfuck of spaghetti code that only the most masochistic person would want to tackle. There's so much legacy stuff in there it's ridiculous. For example you can't name a file com because of the DOS days when a COM file allowed you to access the Serial ports.
This bothers me a lot and also applies, to some extent, to MS office software. If you go deep enough you end up in the same old clunky UI that actually did the job.
Plenty of old apps still run fine. I've got VB6 apps I wrote in the mid 2000s that still run. A previous employer has DLLs from 1999 still running in production on Windows Server - VB6 COM components with hundreds of thousands of lines of code in total. I'm reasonably sure than Office 2000 still works, too.
You do sometimes have to change the compatibility settings and run the apps as administrator (since they were designed for Windows 9x which didn't have separate admin permissions) but often they work.
Even some 16-bit apps work fine as long as you use a 32-bit version of Windows (Windows 10 or older; 11 dropped the 32-bit build). The 64-bit versions of Windows don't have the NTVDM component that's required to run 16-bit Windows and DOS apps. It's an optional component on 32-bit Windows and you need to manually install it.
A lot of effort is put in to backwards compatibility in Windows - Raymond Chen has blogs and books about it.
it often was hit or miss with games though. I remember some games from 95/98 to run on 2000, then not on XP, somehow on Vista and 7, but not on 10. And other games ran on XP, but not Vista and 7...
Drivers are definitely out. Some games are really iffy. Especially from the Win 9x era, where they'd do stupid things like look for a 9 in the version string of Windows, or get the amount of RAM as a 32 bit signed int, so refuses to install if you have 4GB RAM or more.
We had a lot of dodgy old DOS programs that were fine under Win98, but XP broke them.
Did that as a work project on Unix. My peer had a similar porting project.
I thought I was screwed: 20-year-old c-based backup tool. His was easy: this perl web app is installing on a new box because its old one is being lifecycled.
Actual: after 3 weeks of dependency hell he tossed it all and rewrote the thing in c from scratch overnight. My c project was make;make-install with no errors.
I think it's been recompiled a few times since then, without any code changes.
Yes this makes sense. Linux running a 25yr old binary would throw errors for shared libraries, or kernel compatibility or just the fact it's the wrong arch type.
In my experience, on Windows a lot of old stuff runs as long as you have whatever registry setting enabled that lets you run non 64 bit programs. This isn't available on every windows pc but if you're running it on your home pc, you can probably get it. A lot of old games don't work but old things that don't use graphics almost always run.
In wine, it's basically the same story. A lot of old stuff runs especially non graphical old stuff. Some old windows games don't work on wine but just because something old doesn't work on Windows doesn't necessarily mean it won't work on wine and vice versa.
I would rate wine as slightly more compatible with late 90s and early 2000s games than Windows is but ymmv. Graphics stuff tends to work a little more often on wine. Some mid 2000s games use obscure hacks that are impossible to ever get running on wine.
registry setting enabled that lets you run non 64 bit programs
Do they seriously not support 32bit software out of the box anymore? I know getting 16bit software to run on x64 is close to impossible (look up NTVDM x64) for obvious reasons but there is still lots of x86-only stuff.
Apt is a good call. It predates yum, which itself predates yumv2-oops-dnf, and that beautiful porting gift from the Brazilian folks is still working hard at RPM management faster and more consistently than yum v1/v2 ever will.
Try PCLinuxOS (conectiva's great-grandchild) - its template creation is horrible as they've forgotten how to anaconda, but otherwise it's amazing.
Windows can't even install its own old products! I remember back when I had to upgrade systems from XP to 7 and the users needed IE8 in able to use some internal websites. Microsoft was like "Fuck you, you can only use IE9 or above" there was literally no way to download IE8.
I also hate it when they only make shit available through the Windows Store or another convoluted process. No more downloading a simple EXE or MSI and double clicking it!
Wasn't IE8 preinstalled on Windows 7? Wasn't IE9 the only version of IE that wasn't preinstalled on anything? I'm pretty sure someone (if not you) already downloaded IE9, in that case, I absolutely don't know how to downgrade versions of IE.
I don't remember what version it was exactly, this was like a decade ago, but I just remember that I needed the previous version and couldn't find anywhere to download it.
I hired into a community college IT dept ~2000. Manager told me they were a Windows shop. Ha np. I proceeded to replace 3/4 of their server room with Linux. email, cd servers, file servers, web servers, db2, PeopleSoft(gack!). I was working on a cs degree which they paid for about half
I did that too, but I came after the guy left and the lady running the department didn't have the admin passwords for any of the machines. So... When they finally went down, that was the end of printing. I advised her to have the actual university IT department install real managed printers, instead of their windows xp virus infected underpowered computers.
replaced a $20,000 cd rack with 15 cd drives + windows os for network sharing, with a desktop PC running redhat(bureaucracy wanted a support contract). Ripped all their cds w/ dd bash script I wrote for automating add/delete cds for the non-cli types.
Installing 25 year old binaries on Linux is rather interesting - relevant for stuff like some of the old Loki ports. Problem is mostly that they've been written with kernel 2.2 in mind, which does have different behaviour for quite a few things - you generally can find old libc versions compatible with the binary, but those libc versions don't necessarily play nice with the kernel.
There are some compatibility flags which made things work last time I checked - but not sure if that's the case, and it definitely won't work forever, given that 32bit x86 support is likely to be dropped eventually.
It's funny, the only Linux software I've ever used that was only shipped as binaries was Loki games. Also, the only software that broke after binary compatibility went south. There used to be a giant tarball of old libraries and jiggerypokery that enabled the Loki games to sorta kinda work.
I was kind of sad to see that Sid Meier's Alpha Centauri didn't run too well, but then I tried to play the GOG version on x64 Windows 11 and there are occasional weird issues. So, eh.
There's a lot of enterprise stuff that only ships as binaries. I had some fun in the late 00s trying to find the most recent distribution still shipping packages for egcs as that was the only compiler supported by the Lotus Domino SDK.
(For the younger ones here: There was some disagreement about gcc development, which resulted in the egcs fork. It got merged back into mainline gcc by he late 90s already, though)
At the time when the Loki ports happened it was a great thing - before that you pretty much had doom and quake available. Nowadays things are better with steam, but it's quite likely that we'll see some stuff break there in a few years as well, at least for older games.
Windows: nope, too old. Find a version that's compatible with your current installation.
Trust me, I tried playing some old CD games from my dad's shed on Windows 10 for such a long time, it wouldn't even let me do that without having to rely on a virtual machine. Most of those games were in French and German, btw.
I mean, I kind of understand with Heroes of Might and Magic 1 or Prehistorik 2 or something. But heck, even Guitar Hero 3 is impossible to install and play on Windows 10.
I have seen multiple streamers have problems with it on Windows, but for me it works completely fine on Linux with PROTON_FORCE_LARGE_ADDRESS_AWARE=1 (even mods work).
There is a large address aware (LAA) patch for windows too that fixed it for one streamer, but you have to download a patched executable.