6 ms·
When we look at the compatibility story of Unix, it doesn't hold up well at all except as a ship-of-Theseus exercise. The original system design gradually becam
by megameter 5y ago
When we look at the compatibility story of Unix, it doesn't hold up well at all except as a ship-of-Theseus exercise. The original system design gradually became usurped by GNU tools, Linux kernels, and X11 window management. Sometimes you might be able to compile old stuff, but guess what, the C standard changed too. And every one of those things is in turn being challenged - "rewrite it in Rust" has produced new, similar, sometimes compatible but still different programs from the original inspirations. sysvinit was replaced with systemd. X11 became Xorg plus various extensions. Linux was eschewed as the kernel for OSX decades ago, and it's typical for software to need an "OSX build".
There is old Unix software that can run on modern Unixes, but it depends heavily on not doing much I/O. Once you introduce an I/O requirement, failure is imminent - the protocols change, hardware gets accessed with a new method. You end up needing some kind of emulation. The same was basically true of DOS apps running natively on Windows - it would probably run your old Lotus 1-2-3 or WordPerfect in a window, but not games. Windows itself has had plenty of API churn(albeit with an unusually strong compatibility story), but a large share of new Windows apps are actually Electron wrappers.
The glide slope theory isn't perfect because the life cycles do seem to depend on what you look at specifically, and there may have been a slowing of the curve with greater reliance on open-source and Internet technology. However it does seem to be predictable in describing the limits of software platform economics.
- simonh 5y agoA ship of Theseus is fine as long as, at any given time, you have a seaworthy ship. MacOS deprecated 32 bit applications just a few years ago, that's a chunk of dead wood that got stripped out, some people are sticking with the older OS so we're in a transition period on that right now. A series of small incremental steps is vastly superior to a complete rewrite, or massive re-engineering project from the ground up every 10 years.