3 ms·
I think that there's a strong case for starting over, and doing it with your second suggestion in mind. Much of our fundamental design is a whole generation (2
by ObviousScience 12y ago
I think that there's a strong case for starting over, and doing it with your second suggestion in mind.
Much of our fundamental design is a whole generation (20-30 years) old in architecture, and has various modifications tacked on top of that original design. However, we've learned a substantial amount about what we're doing since then and are working with systems that are only poorly represented in those architectures. Many times we find that it's not possible to tack on the latest innovations to these legacy cores in a meaningful way, and that the only way to incorporate them properly would be a substantial rewrite, so we just sort of hack them on top and pretend.
I think it's a fairly normal process in most engineering fields to every few decades, reimagine some core technologies in light of new production methods and materials.
I honestly think it might be worth experimenting with fundamentally green field designs on various core technologies (like operating systems), in the sense of putting a serious development effort behind them (5-10 years of development work to reach parity with current ones) rather than purely as doctoral experiments that clearly aren't production ready.
There are lots of interesting approaches that aren't ever going to make it to market because no one wants to put in the time before the current approach completely fails, rather than just become an increasingly large stack of kludges.
- pjc50 12y agoStarting over is incredibly expensive, the more so when done at a deep level. Either you reimplement an existing API on top of it (quite a bit of work, doesn't pass through all the benefits of a redesign) or you also have to port or rewrite all your applications.