novel features. We have seen, in the Central Dogmap, that although we can
try to draw a clear line between program and data, the distinction is
somewhat arbitrary. Carrying this line of thought further, we find that not
only are program and data intricately woven together, but also the interpreter
of programs, the physical processor, and even the language are included in
this intimate fusion. Therefore, although it is possible (to some extent) to
draw boundaries and separate out the levels, it is just as important-and
just as fascinating-to recognize the level-crossings and mixings. Illustra-
tive of this is the amazing fact that in biological systems, all the various
features necessary for self-rep (viz., language, program, data, interpreter,
and processor) cooperate to such a degree that all of them are replicated
simultaneously-which shows how much deeper is biological self-rep'ing
than anything yet devised along those lines by humans. For instance, the
self-rep program exhibited at the beginning of this Chapter takes for
granted the pre-existence of three external aspects: a language, an inter-
pr'eter, and a processor, and does not replicate those.
Let us try to summarize various ways in which the subunits of a cell can
be classified in computer science terms. First, let us take DNA. Since DNA
contains all the information for construction of protein&, which are the
active agents of the cell, DNA can be viewed as a program written in a
higher-level language, which is subsequently translated (or interpreted)
into the "machine language" of the cell (proteins). On the other hand, DNA.
is itself a passive molecule which undergoes manipulation at the hands of
various kinds of enzymes; in this sense, a DNA molecule is exactly like a
long piece of data, as well. Thirdly, DNA contains the templates off of
which the tRNA "flashcards" are rubbed, which means that DNA also
contains the definition of its own higher-level language.
Let us move on to proteins. Proteins are active molecules, and carry
oui all the functions of the cell; therefore it is quite appropriate to think of
them as programs in the "machine language" of the cell (the cell itself being
the processor). On the other hand, since proteins are hardware and most
programs are software, perhaps it is better to think of the proteins as
processors. Thirdly, proteins are often acted upon by other proteins, which
means that proteins are often data. Finally, one can view proteins as inter-
preters; this involves viewing DNA as a collection of high-level language
programs, in which case enzymes are merely carrying out the programs
written in the DNA code, which is to say, the proteins are acting as
interpreters.
Then there are ribosomes and tRNA molecules. They mediate the
translation from DNA to proteins, which can be compared to the transla-
tion of a program from a high-level language to a machine language; in
other words, the ribosomes are functioning as interpreters and the tRNA
molecules provide the definition of the higher-level language. But an alter-
native view of translation has it that the ribosomes are processors, while the
tRNA's are interpreters.
We have barely scratched the surface in this analysis of interrelations
between all these biomolecules. What we have seen is that nature feels quite
Self-Ref and Self-Rep 547