This software orders the detailed construction of organisms.
What is missing today, is an analysis and modeling of evolution as a software system!
There are several aspects of commercial and industrial (human-made)software which are helpful in understanding, e.g.
- it is easier to reuse running code than to develop new,
- similar: reusing established subroutines allows hierarchical structures,
- flexibility on the code level requires building blocks,
- flexibility on the execution level requires configurator capablity.
But you need more (and most of it is new and non-trivial):
- preparation of self-modifying code
- close interconnection between program and storage
- mechanisms for easy reconfiguration,
adaptive to "more or less mutations wanted",
- i.e. management of the "mutation distances".
The "mutation distance" determines the probability of again useful software after a random software mutation. What is needed are software engineering models how to achieve these functional features - and then see how much is directly implemented in genomics, proteomics and transcriptomics.
This software engineering science is the engineering discipline of biology - a wonderful field of exciting and relevant research, much more scientific than ruminating the (of course also important) human software generation processes...
Many people are not aware that evolution takes place on the software level, not on the level of visible features (phenotypes)!
“I made this program longer than usual because I lack the time to make it shorter.” - paraphrasing Blaise Pascal (after softwarecreation.org ).