Genetic programs and computer programs have some features in common. Computer code is written as a linear string of letters, analogous to the sequence of nucleotides in genomic DNA. Once a computer program is initiated, it automatically runs and performs its coded task. Small mistakes in the code, like mutations, can have big consequences and even cause the program to crash.
The analogy between genetic programs and computer programs has an important limitation. Computer programs, designed by humans, are consciously written, whereas genetic programs evolve. The genetically encoded developmental programs of all living organisms emerged over billions of years through mutation and natural selection. These developmental programs changed through time, persisting only if they produced organisms that could successfully survive and reproduce in the existing environment. Here, we explore the genetic program of development—