I spent my college years in the mid-1960s going along with the “scientific consensus” that random evolution explained the origin of the species. Why not? I had seen diagrams of the cell as a walled area filled with some liquid. The Human Genome Project was still thirty years away. Serious work was happening but not widely known.
I went into computers after I graduated in 1968. At that time, they were massive boxes in big, air-conditioned rooms. The public knew about them because bills came in punch cards. Home PCs arrived a decade later with the introduction of the Apple II in 1977.
Computers were magical boxes, and evolution was a semi-magical process of random change that somehow made everything work out. When I learned the details about the first half of that statement, I could no longer believe the other half.
I had the challenge and opportunity to work with the software at the deepest level on our site’s computer. We had a Univac 1108 with the Exec 8 Operating System (OS). These were both excellent products for their time. I was studying and making changes inside the OS. I was also taking graduate school classes and adding research to my efforts.
There were two features in the code that made computers usable for normal people. The earliest computers didn’t have them, and the utility was severely limited. Amazingly, I can describe them in ways you’ll understand.
Phone calls, alarm clocks, and children yelling are all interruptions. Human beings routinely experience and handle these. How would you know to answer the phone if there were no way for even the old wall phone to interrupt you by ringing? Your cell phone needs to manage an interruption and ring.
In the earliest days of computers, the computer told the printer to print and waited for it to finish. Then it did another task and got to a point where it had to wait. The development of an “interrupt mechanism” allows the computer to order a task, put it on a list, and continue doing something else until the task is completed.
Anything mechanical was terribly slow compared to the electrical. Human thinking and typing are ponderous compared to modern computers. This is why a computer system can support many users simultaneously. A cell phone can have several apps open at the same time.
The hardware and software needed to manage this are very elegant and sophisticated. People have a difficult day when they are overwhelmed by interruptions. Many operating system crashes result from the same kind of thing. When too many events happen too fast, it reveals the slightest imperfection in the code.
The other issue is like dealing with two children arguing about who goes first, but it is more serious.
With multiple apps or students running at the same time, there are fundamental questions about who goes first for a task or request. There are requests for memory, file access, and other permissions that must be processed serially to avoid chaos. If two apps are doing the same thing in the same space at the same time, it is a disaster.
Univac has a hardware instruction that grants you access if you are first and delays you if not. When the object becomes available, the OS is interrupted so you can continue. From the programmer’s point of view, it is amazingly easy to use. The hardware and software do all the complicated work.
The keyword in Darwinism is random. I was told to make a change resembling one of the “random” evolutionary changes, and I never saw the word “random” the same way again. My assignment was to make a change, which, in theory, was something like upgrading vision. We were using terminals called Uniscopes to enter data into the system. We wanted to allow a more sophisticated form of data entry, like color vs. black-and-white. I had to modify the operating system code to make that happen.
It was frustrating and challenging, but not random. It took a while to understand the requirements of the existing equipment on both sides to make the exact changes needed. It took research, testing, and a lot of thought and planning to get it done.
Ironically, the only random factor in the exercise almost blocked the solution. The computer hardware started exhibiting errors when executing a particular instruction. Even though my code looked right, it wasn’t working.
Therefore, “random” didn’t help; it was a problem.
Computer capacity was tiny by today’s standards. That machine had one megabyte, where each bit was a small iron core strung together with copper wires. It was still possible to have a reasonable understanding of products like the OS, but they were still the result of years of discussion, effort, testing, and development.
There had been errors and the need to go back and try something different, but it wasn’t random. Standards Committees developed specifications for code sets, printers, and other devices, enabling their use on computers from various manufacturers. An incredible amount of planning and thought had gone into it.
Modern Operating systems and major programs are huge. Mac OS X Tiger has an estimated eighty-five million lines of code. Obviously, that didn’t happen by randomly rolling dice. A lot of people have spent a lot of time producing that. Load it into the appropriate hardware, and some neat things happen.
Now let’s look at humans. The human genome has 3 billion nucleotide base pairs of two complementary DNA nucleotide bases. I can’t quite convert lines of code to bytes, but three billion nucleotides, each represented by two bits, is 750 megabytes. That’s a big Human OS. It must be.
I know that all the complex computer code took immense planning, effort, and forethought. In contrast, we are supposed to believe the human genome, which is at least as complex and produces the wondrous capabilities of the human body, came together through millions of years of random chance.
I don’t think so!


