Plant Diversity and Computer Programming – Discovery Institute


Photos: Geraniums, by Sabina Bajracharya, CC BY-SA 4.0 , via Wikimedia Commons.

In the past, I have written articles making the case that the operation of biological organisms exhibits an uncanny resemblance to computer programs that humans produce. Now, I want to continue this theme based on a recent observation in my own backyard. At my home in Southern California, I have geraniums in pots, two olive trees, and three pine trees. I asked my gardener how come, after all these years, the soil in the geranium pots is at roughly the same level. My gardener explained that while the level of the soil does drop a bit due to compaction and particles being washed out of the bottom of the container, the geraniums use only a tiny fraction of the soil, specifically essential nutrients such as nitrogen, sulfur, phosphorous, and other elements. Otherwise, the soil simply provides a medium for growth and delivery of water necessary to build the plant. Amazingly, 99 percent of the growth of the plant comes from three things: carbon dioxide in the air, water, and energy from sunlight.

Each and every part of the geraniums, the olive trees, the pine trees, and all other plants is made up of water and micronutrients from the soil, and it is the miraculous process of photosynthesis in the plants that breaks down water and carbon dioxide in the air, recombining them into glucose through this process powered by the energy of light from the sun. The chemical process is simple but profound. The products of photosynthesis are glucose, oxygen, and water. Oxygen and water are released into the atmosphere. The glucose produced by the process of photosynthesis is linked in long strands to produce cellulose, which is the basic building block of all plants, including my geraniums, olive trees, and pine trees. Indeed, every part of these various plants, whether it be trunks, branches, flowers, leaves, needles, olives, or cones, is made of cellulose and water.

Where Code Comes From

Despite the dramatically different external appearances of my plants, and all other plants, the only real difference among them all is the code executing inside the cells of the plants in various parts of each plant. It is the code that makes the vibrant red flowers of the geranium, the tasty olives on the olive tree, and the exquisite Fibonacci sequence displayed in pinecones. The code in each cell of the plants executes differently depending on its specific location in the plant, as the bark of a tree has a different function from a leaf, and a leaf has a different function from a pinecone. So all the diversity in these plants and all other plants is based solely on differences in code and where and how that code is executed.

Now code does not simply write itself. No programmer writes code that does not have either a prior written or verbal specification. Functional code must have a target, which speaks to the notion of specified complexity as argued wonderfully by mathematician Bill Dembski. No programmer is going to write a program that generates random code expecting it will eventually produce something useful, as any computer program is a collection of precisely composed modules coordinating with one another, with precisely defined interfaces that execute a specific function, similar to proteins operating in each individual cell of a plant. As with complex computer programs that can have thousands of modules, plants have thousands of proteins performing the work in each cell, each interacting with the others to keep the cell alive. Moreover, each cell in the plant works with other cells to keep the entire organism alive.

As a computer program is made up of individual modules that can be used over and over for different types of programs, it is the same with code executing inside plants. For example, in a smartphone, you will have a wireless communication module, a display module, an audio module, a notification module, and an authentication/authorization module, to name a few. You will find these created also as common libraries used in a variety of devices (e.g., computers, thermostats, or security systems). When you call into any module, you must know precisely where to find its entry point. A random search might allow you to find the entry point, but that doesn’t mean you know how to interface with that module because the module is expecting certain inputs coded in precise ways for you to get any meaningful output. 

As an analogy in the biological world, even if a mutation occurred that happened on a working protein that provides some novel functionality, the functionality of the protein already had to be established beforehand. So just as you need to know what module you’re calling and what function it provides in a computer program, a cell needs to know what protein provides specific functionality, all depending on where that cell resides in the organism. You don’t want, for example, all proteins activated in a brain cell to be activated also in a skin cell or a gut cell. Proteins exist for specific functions and must be called based on their specific functions. In the computer world, a single bad bit or shift of a bit out of literally billions of bits will be catastrophic for the program, especially along critical pathways.

Another Parallel with Biological Organisms

Another thing computer programs do in parallel to biological organisms at the cellular level is to continually check for error conditions and try to gracefully recover from errors. This doesn’t come for free. If something goes wrong, the program needs to figure out whether it can recover by itself, needs some specific input from the user to continue, or must simply shut down. Also, most programs today have monitoring modules built in that check for the health of the program and to see if it is performing optimally. From monitoring, a programmer can learn if a program needs to be further optimized in order to behave more efficiently and to increase performance. There are programs written specifically to protect other programs from viruses and malware and that can repair the program if it becomes infected. This is very much like the immune system in biological organisms as a whole. There are a plethora of higher level “programs” running in the organism that work to keep the organism healthy and alive.

Three Popular Applications

We often hear from Darwinian evolutionists that humans and apes are 99 percent the same. This has proven to be inaccurate. Nevertheless, it is not what is the same in terms of common functionality you would expect in these two primates, it is what makes them different. Let us compare three popular applications on the Apple iPhone: Facebook, Instagram, and TikTok. The current iOS 14 is about 2.2 GB. Facebook is 250 MB. Instagram is 141 MB. TikTok is 195 MB. That means Facebook is about 1.13 percent of the total executing code. Instagram is .06 percent and TikTok is .09 percent. So basically, these three programs are about 99 percent the same, but no one who uses any of the three would say they are 99 percent the same thing. Each of these programs is a unique creation with its own unique executing code that is calling into the common code of the iOS operating system. And while they are certainly using many of the same modules/libraries in iOS, there are literally millions of different pathways they may follow in the underlying operating system code all depending on what the program is doing at any moment based on user input. We see a parallel in the biological world with respect to sharing of similar or same lower-level components, and the response of the organism to changing conditions in its environment.

In short, there are amazing parallels between complex computer programs and biological organisms, with biological organisms being orders of magnitude more complex than any computer program designed by humans since biological organisms have the ability to replicate themselves at both the cellular level and organismal level, and also have the ability to repair themselves if damaged. Thus, as we consider the enormous complexity of the computer programs that allow our modern society to thrive, produced by intelligent human minds, we should also consider that biological organisms were also produced by a mind (or minds) of far superior intelligence.