4 ms·
I find it’s a lot less interesting to consider the mapping of DNA to code or blueprints, instead considering the process of evolution as a way of dealing with a
by hirenj 5y ago
I find it’s a lot less interesting to consider the mapping of DNA to code or blueprints, instead considering the process of evolution as a way of dealing with a legacy code base. This code is functional (just barely) but it’s fragile. Lots of cross-dependencies, much misuse of functions (with side-effects!), and no real way to do static analysis on the code base to figure out how it works.
The problem is, there’s always new requirements coming in! So how would you design this software so that it is robust to changes and doesn’t require a complete rewrite to add new functionality.
The superpower of this codebase is in composability of code, with loosely defined interfaces. In this way, all parts of the system can be incrementally improved without breaking existing functionality.