this post was submitted on 28 Jul 2023
646 points (97.5% liked)
Memes
45589 readers
1472 users here now
Rules:
- Be civil and nice.
- Try not to excessively repost, as a rule of thumb, wait at least 2 months to do it if you have to.
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Haha, there's still things embedded deep in code and in CPUs that go way back to the 80s. If only y'all knew. It's all shit built on top of older shit, built on top of even older shit with kludges and hacks to glue it all together. Know why Windows has five different ways to access the same setting? Because if they get rid of the older methods, they break a ton of other shit that depends on it too. A house of cards or a Jenga tower.
A modern PC can STILL natively boot a DOS floppy from 1986 in legacy BIOS mode because of this.
Theres also examples in the corporate world where some companies are STILL running 70s mainframes, and use shiny new PCs as front end terminals that just connect to the same old backend.
This is super interesting and I had NO IDEA! Makes me very curious how much more efficient an entire fresh start might be with new tech.
Yeah I can't even think of any recent CPUs that aren't based on previous designs. Even Apple's new M1 is an ARM derivative, which itself is based on an ancient computer from the 80s known as the "Acorn".
It's a bit poetic. They were directly competing with Apple at the time, and Acorn named themselves such so that they would appear in front of Apple in the phone book. Of course, they haven't existed in a long time, but 35-40 years later, Apple decides to use the great-grandson of Acorn's CPU in their new products.
This is one of the reasons why Linux doesn't have a stable in-kernel API (or ABI for that matter): https://www.kernel.org/doc/Documentation/process/stable-api-nonsense.rst
CPU architecture wise, you can see the difference between cluttered, old x86 and ARM or even RISC-V chips. They just run so much more efficient, as you can tell with your phone lasting a day or two, or apple silicon consuming a fraction for the same performance.
An example for the ancient backend would be the flight pathing system DAL. (Wendover video)
Fresh starts are always tempting, but they mean throwing out a ton of babies with that bathwater. Re-making old mistakes and solving them with fresh kludges in your nice, new, clean solution.
Like everything else in engineering, it's a balancing act.