Hacker News new | ask | show | jobs
by skywhopper 4220 days ago
Nothing as complicated as an OS capable of running modern software will ever be "well-engineered". Unix/Linux systems are the culmination of over 40 years of work by thousands of people across decades on tens or hundreds of millions of lines of code. You can't replace all of that no matter how much money you pour into it. Most of the lessons about what's good and bad in the history of engineering Unix are baked in to the existing code, and no humans actually know any of the reasons why it works as well as it does, if any ever did. A new platform may fix some issues, but it will encounter new ones, and it will inevitably encounter many of the old ones as well.

These systems appeared hacked together because that's the only way real-world systems work. The only way to build a complex working system of any kind is to start with a simpler system and add to it. But systems have minds of their own that are beyond the control of any engineer contributing to the project, and anything big and effective enough to compete with Unix/Linux will have just as many problems, if not more.

1 comments

That is the standard conservative incrementalist position about systems. I think it's a denial of the efficacy of conceptual thought.

It often stems from an analogy to biological evolution, but evolution is a geological-timescale process that occurs over aeons. To use it as a guide to cultural, social, and engineering progress is the naturalistic fallacy not to mention a bit of a category error.

That being said -- I do consider the challenging of the "crappy old OS + virtualization" paradigm unlikely due to the lack of a strong financial incentive to do the work. The amount of work required is waaaaay beyond amateur open source hacker thresholds.

It's possible that this lack of a financial incentive betrays a lack of overall value incentive. Maybe containerization + virtualization, while ugly and ham-fisted, is "good enough" and a more elegant approach just wouldn't have enough "win" to it. A similar situation exists with languages like D, Go, and Rust vs C++. They're better, but they're probably not better enough to displace the incumbent. Peter Thiel's rule on competition (from the incredible book Zero to One) is that an upstart alternative usually has to be 10X better to "disrupt" an established market. I can't imagine a polished-up Plan9-ish OS being 10X better than Linux+Docker+KVM on important metrics. A new OS would have to be 10X as productive to program, 10X less time consuming to admin, 10X more efficient at the use of hardware, 10X more secure, or some combination thereof that amounts to a 10X win.