Introduction
"Programming of Life" by Donald E. Johnson (paperback, video, quotes) came to my attention fairly recently. The prospect of a case for God's existence being made from my area of training (computer science) especially caught my attention. The fact that the author is formally trained in both information science and biochemistry seemed to give him a unique set of credentials to authoritatively compare the code in DNA to computer programming code. The book is short at only 127 pages (included appendixes) and is divided into nine chapters. This review will be a chapter-by-chapter summary, but should not be confused with providing Johnson's case comprehensively or precisely.Chapter 1: Math Basics: Probability and Large or Small Numbers
Johnson prepares his readers by providing a quick tutorial of some basics required to understand his arguments. It is commonly misunderstood that "chance" is a force; however, it is rather merely an expression of likelihood of an event taking place versus its not taking place. If an event has any likelihood of taking place, it is considered "possible," but possibility should only be claimed in scientific observations have demonstrated the event to have taken place. "Plausibility" is a value of the level of possibility (0-1; 0=impossible; 1=certain; 0.5 is the threshold for an event to be considered "plausible"). Johnson prepares the reader for the significance of these concepts by explaining the lowest limit of physical possibility given all the resources (atoms in the system, the fastest chemical reactions in the universe, and the age of the systems) of the universe (10-108), galaxy (10-96), solar system (10-85), and earth (10-70). He explains that if the probability of an event taking place is lower than these physical barriers, the event is indistinguishable from impossible within that system, and the proposed event may be considered scientifically falsified.Chapter 2: Information Basics: Data and Information Types
Johnson takes a chapter to explain the difference between data and information and the different types of information. Data is merely a collection of symbols (0's and 1's for computers; A's, C's, G's, and T's for DNA). Information is a meaningful or significant collection of these symbols. In order for a collection to be considered "meaningful," both the transmitter and the receiver must agree upon a protocol used to encode and decode the data to decipher the information. Three primary types of information exist: functional, prescriptive, and shannon. Functional information communicates a specific function to a specific degree. Prescriptive information communicates a function with a specific purpose which anticipates points of decision, the available options, and which one is appropriate for the circumstances. Shannon information is a mathematical measure of the improbability of the collection of symbols. The "information" of a collection of symbols is said to be inversely proportional to its probability of occurrence. Finally, information theory focuses on maintaining symbol collections' integrity during storage and transmission.Chapter 3: Evolution of Computer Hardware and Software
Johnson now moves to tracing the history of the personal computer. As he takes the reader through each major step, he explains that to complete each step required a top-down approach of having a goal or purpose, then building a design to achieve the goal. He also emphasizes that this approach was necessary for both hardware and software, driving home the point that the personal computers that we have today would not exist had it not been for designers of the physical machines and engineers to write the information (programming code) to make the machines functional.Chapter 4: Life Basics
Johnson provides the reader with a very basic explanation of the DNA and the cell. In doing is he shows that not only is functional information stored in DNA, but it is also compressed in such a way that allows it to produce unique instructions simply based upon starting the reading of the data at a different bit of the data. He explains the process of replication of this data along with the error correction that takes place to ensure accuracy (which actually makes gene mutation a relatively rare event). He further explains that these complex cells, made via functional information in DNA, come together to form organs including the human brain. The information in this chapter is miniscule compared to the knowledge that exists about these systems, but the information in this chapter is enough to make the case that life's design is far superior to anything that humans have developed.Chapter 5: Shannon Information in Life
Beyond simply comparing the systems of life to human designs to show the crude resemblance (on the human side), Johnson also aims to show that information is distinct from its storage medium (DNA, in life's case). He explains the fundamental differences and how there is no way for one to give rise to the other. Johnson reminds the reader that information cannot be the result of necessity because necessity has no contingency, and the information we find in DNA is full of contingency. Through the process described in the previous chapter backward through time, it is seen that the language of the information had to be in place prior to the origin of life. Since necessity is not an option, chance must now be investigated. The only way for the language to develop naturally is from one less complex. Johnson examines the "protein first" theory for the origin of life; however, this would require the transfer of information from a language with fewer symbols to one with more (a mathematical impossibility). That transfer violates the laws of information theory, which would make it impossible. Johnson concludes that if the language did originate naturalistically (prior to the origin of life), it would have to possess the same number of symbols then as it does today.Chapter 6: Prescriptive Programming Information in Life
Johnson now discusses another type of information that is found in both computer code and the programming of life: prescriptive information. This is information that goes beyond merely describing something; it contains options to be chosen at different decision points in a deliberate effort to achieve a certain goal. It is purposeful. However, to communicate this information between transmitter and receiver, the receiver must be aware of the language used by the transmitter. This requires a formal set of rules that ensure the transmitted data is read and understood as it was intended at transmission. Not only must the rules exist prior to the origin of life, but it must have originated on its own naturalistically. Johnson explains that formal systems cannot be the product of merely naturalistic processes because of the fact that the rules could be otherwise, meaning that they too contain contingent data that describe something. As explained above, this cannot arise through a simpler, naturalistic system because the information is distinct from its physical storage medium. Origin-of-life researchers must explain the origin of the rules of the language which generates prescriptive information by merely naturalistic means. This has yet to be done, and is not expected by Johnson because to expect a non-physical result from a physical source commits a category error. Finding the source of the rules of the language will only be achieved when origin-of-life researchers abandon their presupposition of strict naturalism.Chapter 7: Combining Life's Information Types
Having described the different kinds of information and the necessity for a language to exist to encode the information in computer programming that are also found in life, Johnson walks the reader through an example of the complexity of the encoded and decoded information by using the example of programming a universal remote control to communicate with a DVD player. The initial programming establishes the syntax of the intermittent infrared light beams transmitted from the remote control to the DVD player so the player will respond properly to the pressed buttons. He explains that this is all necessary if information is to be transmitted, but that should be no surprise since information theory requires it. The challenge of the naturalistic origin-of-life researcher is to find a way that life, which depends upon information, can escape this requirement that all other information-based systems must adhere. Johnson highlights the point that someone may not simply argue that since information dependent life exists, that it therefore happened by naturalistic means. That is to assume the conclusion in the argument for the conclusion. Rather one must look at all known information systems and determine their sources, then look at the one who's source is up for debate (life). No other information system has been found to be sourced naturalistically. That also should be of no surprise to anyone since that is exactly what information theory predicts. Because of the scientific evidence (or lack thereof), the philosophical impossibility, the mathematical impossibility (described in Chapter 5), and the physical impossibility (also in Chapter 5), Johnson concludes that the information found in life does not and cannot have a purely naturalistic origin. Since information is necessary for life, it can be further concluded that life also cannot have a purely naturalistic origin.Chapter 8: Programming Increasing Complexity in Life
Even if one were to grant the origin of information (with the language necessary) and the origin of life, somehow that starting system must be able to increase its information in order to produce the complexity and diversity of life that we see today. Many scientists have attempted computer simulations in order to demonstrate that such information can increase, but end up undermining their efforts because they must alter the code actively or make the initial code much more functionally and prescriptively complex than what would be acceptable in a natural environment. To make matters worse, as organisms become more complex (multicellular), interaction among the cells (with their own functional programs) is required. This takes the level of complexity of the original code even higher. The primary problem for naturalistic explanations is that they cannot include any mechanism that has any purpose or anticipation of what may come in the future. So, any code that would not be useful at the time would be eliminated- every bit of extra complexity must be generated in real-time; however, the current mechanisms proposed by naturalistic scenarios (such as gene substitution and horizontal gene transfer) are not sufficient to produce the increased information necessary.Chapter 9: Unresolved Difficulties in Life's Information Requirements
In the concluding chapter Johnson summarizes his case. He reminds the reader that any theory that violates any one scientific discipline (information science, in this case) is not science, and any acceptance of it is done on faith not evidence. He proposes several questions that the naturalist must answer within that framework before it can be "scientific" to accept that life originated by purely naturalistic means and that modern organisms evolved from less complex ones.Reviewer's Thoughts
Being a student of computer science (and information science, to some extent by implication) this book directly addressed my realm of formal training. That made it quite an exciting read. Johnson laid out his case succinctly. He did limit the scope of the book to being critical of naturalistic explanations and did not provide a positive case for God or a designer. While this may be seen as a disadvantage of the book, that makes it ideal to place in the hands of a naturalist because it removes the temptation to avoid the scientific critiques in the book and focus on other arguments or complaints about the conclusion. Of course, throughout the book the positive case for a designer is implied, but it is never explicitly concluded. The apologist could easily discern and articulate this positive case if the skeptic came to accept the critiques offered in the book.Because of the information/computer science perspective of Programming of Life, I recommend it for any apologist who may need to provide a case for God's existence to someone trained in these disciplines. I also highly recommend it to anyone in the information technology field- If you accept the current naturalistic theories for origins of life and species, this book will scientifically challenge your conclusions; if you accept design as the only explanation for the origin of life and/or species this book will provide you with a powerful scientific argument to bolster your confidence in your conclusion and to articulate it to your skeptical peers.