In 1948 legendary thinker, engineer, and mathematician John Von Neumann wrote a paper called “The General and Logical Theory of Automata”. The paper was inspired by the “continuously increasing” and “very considerable” role played by automata in the natural sciences. In this, and several subsequent lectures and papers, Von Neumann would describe humans as a series of “elementary units” (e.g. muscle, neurons, a metabolic system); complex as we are, ultimately we can be boiled down to a kind of self-reproducing assembly line. In the process, Von Neumann posed the question that would become the spark of Conway’s famous game:
Can one build an aggregate out of such elements in such a manner that if it is put into a reservoir, in which there float all these elements in large numbers, it will then begin to construct other aggregates, each of which will at the end turn out to be another automaton exactly like the original one?
Von Neumann wanted to prove that we could invent mechanical life. Could machines reproduce themselves the way plants, animals, and/or bacteria do?
By this time, much of the fundamentals of DNA had been discovered. Scientists of the day knew about mitosis, some of the structure of DNA (including the GATC nucleotides we all know and love) and in 1953 James Watson and Francis Crick would make a groundbreaking discovery: the “double helix” structure of DNA.
Applying a programmer’s perspective to DNA, it’s easy to see how Von Neumann might think that a computer program could mimic the functions of life.
DNA as a Programming Language
DNA can be thought of as a long series values, with only four choices for each value. To me, DNA is highly reminiscent of binary; but instead of 0 and 1, DNA has A, T, C, and G. Even more striking is how DNA is used in our genes. Just like the binary data that comprises a computer program, our DNA contains instructions for our bodies.
The ordering of the nucleotides (ATCGs) controls when cellular organisms produce proteins, and which proteins are created. This a process is called protein synthesis. DNA provides the…