Meyer specifically cites computer code as an analogy to DNA information. In fact, he insists that it is more than an analogy. In chapter 17, he addresses several critiques of ID including the claim that it is based on analogy. On page 386 he states “Although a computer program may be similar to DNA in many respects and dissimilar in others, it exhibits a precise identity to DNA insofar as both contain specified complexity or specified information.
“Accordingly, the design argument developed here does not rely on a comparison of similar effects, but upon the presence of a single kind of effect—specified information—and an assessment of the ability of competing causes to produce that effect. The argument does not depend upon the similarity of DNA to a computer program or human language, but upon the presence of an identical feature in both DNA and intelligently designed codes, languages, and artifacts.” (emphasis in the original)
There is no doubt that there are many intriguing similarities between DNA information and computer code. Many of the same analytical tools can even be used in both systems. But Meyer says that this is not the basis for the inference to an intelligent designer. Rather, it is the fact that both are identical insofar as being specified information. I do not find his argument compelling because the two systems derive their specificity from two different sources, as Meyer himself admits, though he does not pursue the consequences of that difference. DNA information is specified because it works. The cell is able to carry out a very complex function. Cells that do not function, die. Those that function, live and undergo cell division. Computer code is also specified because it works, but now its function is defined by the meaning that intelligent beings have assigned to the “0”s and “1”s that are generated by the computer. The computer system is rife with abstraction and it functions because its physical complexity conforms to the basic principles of computer design and because of the abstract meaning assigned to those physical states. This difference is crucial and stands in contrast to the claim of identicality.
The physical requirements for a computer are simple but not trivial. Rolf Landauer described the requirements for physical states in an information processing system in a paper in 1961 (R. Landauer, “Irreversibility and Heat Generation in the Computing Process” IBM J. Res. Develop. Vol. 5, No. 3, 1961). Essentially, a stable physical binary state must exist which can be switched from one state to another. These states can be designated as “0” or “1” but that designation is independent of the specific physical system being used. The second requirement is a channel to transmit that information. Claude Shannon was the pioneer who quantified the information that can be transmitted in a physical system (C.E. Shannon, “A Mathematical Theory of Communication”, Bell System Technical Journal, vol. 27, pp. 379-423, 623-656, July, October, 1948). The third requirement is a set of logic gates that carry out Boolean logic, first defined by George Boole in the 19th century. These are the basic principles of computers. In addition there are numerous constraints to make a computer practical, fast, and efficient but those need not concern us here.
The key point for our purpose is that the functional specificity of any computer designed on the above principles depends on abstraction. There are many levels of abstraction. The first and most basic is assigning “0” and “1” to a binary system. This assignment is independent of the physical system selected and the “0” and “1” can be interchangeable, as long as it is done consistently. For example, a positive voltage may be designated a “1” and a zero or negative voltage may be a “0”. But there is nothing about the voltage that demands that it be a “1” or a “0”. The definitions can be reversed. Or a polarized photon could be used as a “0” or a “1”. It could be polarized either linearly or circularly. The “1” could be horizontally or vertically polarized and the other would be “0”. This assignment is arbitrary. Higher levels of abstraction are assigned to interpret binary strings in terms of ASCII codes or instruction sets or data or various other meanings. But the chemistry and physics of the system is irrelevant, provided the basic constraints are met.
In contrast, DNA information is composed of a linear set of units called nucleotides. Each sequential step of DNA has one of four nucleotides, usually designated A, C, T, or G for short. The sequence is critical and is the essence of the information, but its function also depends on a large number of supporting biomolecules, most of which are, in turn, generated from various segments of the DNA. Thus far, the similarity to computer code seems strong. But as we look closer, we see that the functional specificity is derived precisely from its ability to survive and reproduce, not from any abstract meaning. If the chemical and physical structure changes, the functionality is changed and may be lost. The information is not a matter of assigning a meaning to the nucleotides, but rather the chemical function that the DNA carries out. This is a crucial distinction because it is abstraction itself which is the strongest (though not the only) indicator of the action of an intelligent designer.
To summarize, the ID community, and specifically Meyer in this book, often cite the comparison of computer code and DNA information as evidence of an intelligent source for both. But though they both have physical complexity that we call information, there is a critical distinction in that computer code specificity is derived from abstraction of the physical complexity whereas DNA specificity is derived from its chemical ability to survive and reproduce the physical complexity. That fundamental distinction undermines the core argument that Meyer seeks to make. Specificity of complex information does not arise uniquely from an intelligent source but also from physical or chemical functionality.