Computer programming and DNA coding share two patterns relating to diversity. I take two examples from DNA
I take it from popular articles that I cannot now find, that DNA codes for fingers and toes with common DNA and accommodates the necessary differences by selectively expressing certain proteins contingent on chemical signals that differ between the environments of toes and fingers during morphogenesis.
The solution for hemoglobin, by contrast, was to copy the DNA some few hundred million years ago, and let the two copies diverge with little or no subsequent evolutionary improvements being common to both. The software industry calls this forking. If I recall correctly there are about 5 identifiable copies of the hemoglobin DNA only two of which remain functional. Duplicating genes is normally harmful and the greater symmetry is how makes it so uncommon.
Computer programmers will recognize the respective advantages of these two coding patterns. With one copy