So guys, what is your opinion on backwards compatibility? How old should an app be to be expecterd to work reasonably on a new OS?
Now obviously you can make an app that uses 0 external API's and that app will work for a pretty long time on any system, but I want the context of this post to be in the OS design context.
Ideally many people would like all apps to work eternally. While that is a nice idea, we all know how it ends up in reality. You add layers upon layers of boat called compatibility layers. Your innovation becomes close to 0 as you have to watch out for old standards, even some old de facto standards.
On the other hand we have the speedsters who are living on the bleeding edge. While that is also certainly a nice thing, in an extreme example it would be very uncomfy if most of your apps broke every month or so.
Windows is certainly closer to one end of the scale, while Linux is closer to the other.
Windows is generally known for its great backwards compatibility. You can be optimistic that most apps written for Windows 95 will work on Windows 10. They may not, but they probably will. Even older apps have a reasonable chance of working. However, anyone who knows his way around a computer knows that this is often a double edged sword. As I said, those compatibility layers and the stagnancy of the win32 API often add boat and are a headache for MS when changing or adding new stuff. Not to mention old DOS relics like drive letters. Or having to maintain two or more technologies at the same time.
Then there's Linux which is closer to the other end of the scale. Even the boated Linux distro's are far less boated than Windows. However, aany app that is older than the current stable release of Debian is a dice roll if it will work. Debian oldstable maybe... However, any app that is older than 5 years it very probably won't work. And for any app that is i.e. 20 year old, your only hope is to find an image of a supported distro that is also 20 year old and run it in a VM, and if you need dependencies, have luck finding online repository archives.
>However, any app that is older than 5 years it very probably won't work This is simply not true. Stuff that was programmed following C standards and that didn't rely on gnu auto* hell will very likely still work. Also the stuff that doesn't work is usually fairly simple to fix.
There is plenty of stuff in both linux and BSD that probably hasn't been updated in 5 years that is still used frequently. It was stuff that was programmed properly and completed in a way that was simple enough to verify there were no bugs. In fact this was one of the major benefits of the UNIX philosophy.
Stuff that has to be "updated" and "fixed" frequently is usually the mark of a bad program.
>>35828 I guess DirectX is one thing where MS doesn't care about backwards compatibility. Try some boring accounting software though. >Quake 3 Yeah because it has an active community of devs keeping it up to date.
Everything is up to glibc and other part of userspace. If nothing else works, you can use chroot for ancient software, but compatibility isn't a kernel related problem. Red Hat gives support for a decade anyway.