Why Biology is Pair Programming at Scale
Are all robust development processes in biology a consequence of a kind of ‘pair programming’?
There’s this practice among prolific writers is to write to generate ideas first and then revisit these to clean up the style. Editing while writing tends to place speed bumps in the idea generation process.
The idea of ‘pair programming’ is to have two programmers working on the same code simultaneously sitting on a single keyboard and screen. Two minds working on the same problem. A driver and a navigator (see: On Pair Programming)
This dual mind configuration seems to be prevalent in biological systems and perhaps is the key reason for its scaling into complexity like multicellular organisms and multiscale cognition.
Biological systems do not have a single master control that drives their development. If the architect and foreman are missing on the job site, then how can a building meet its original specification?
To do decentralized well robustly, every worker should have a blueprint that a driver follows. The driver may incorrectly execute the blueprint and that’s why there’s a navigator to make sure correct any inconsistencies. What prevents the navigator from also being wrong?
Wolfram’s multicomputation proposes an idea called ‘causal invariance’. The idea is that computations proceed in parallel and independently and, without a central controller, converge to the same result. This convergence is an emergent side-effect of individual computations. The convergence is a matter of happenstance. Not something that is apriori that is known.
What I find most unique about it is the notion of observer reference frames. That is, observers with different reference frames observe a multi-computation differently. It’s a unified framing of special relativity and quantum mechanics. Biology is multi-scale multi-computation. The observations that biological models make of each other made from an internal virtual reference frame. A reference frame that is learned through their interaction with each other.
There is a metaphysical difference between biology and physics. The difference is analogous in how quantum physics (QM) differs from classical physics. The reason QM looks strange is because it’s absent an information attribute that we take for granted. QM can’t copy information.
Analogously, the difference between biology and physics is similarly tied to how information is processed. Physics does not have processes that independently examine its current state. There is no navigator process that determines correctness. Physics consists only of drivers.
Biology has many kinds of navigator processes operating at different scales. What navigates the development of bacterial cells is different from eukaryotic cells. What navigates multicellular beings also differs. The same with metazoans.
Where physics does come in is in the energy required to main the information processes in biology. At every layer of biology, a balance must be made in the management of information and its energy requirements. The storage and interpretation of information must require energy.
Therefore the dual processes of drivers and navigators are confined to the constraints of physics. Evolution discovers viable configurations for each biological layer. This doesn’t imply each layer is an optimal layer.
Sharks have not evolved much for 450 million years. Evolution rests on its laurels when there’s no necessity for new inventions. What is pervasive in life are the evolutionarily optimal species that thrive in niches. Humans are a kind of optimal species in a specific niche.
Pair programming works because the driver and the navigator are in conversation. All life is in conversation with each other. All life is constructed by linguistic objects constructed also of other linguistic objects that balance the constraints of energy and information.