I studied biology a couple years ago. I guess I mostly slept through it in high school, because I sure didn’t remember much. When we got to the section on DNA, I was like, “Holy shit, it’s a computer program!” DNA isn’t just roughly analogous to programming; it’s basically the same thing.
When a living cell needs to produce something, the nucleus cuts-and-pastes a string of instructions out of DNA, picking the right short chunk out of a string billions long. It passes a copy of these instructions out to a builder unit (I forget the names of all this stuff) which follows those instructions to build the thing the cell needs.
When you want to produce an effect inside a computer, you send a list of instructions to the CPU. For common tasks, rather than write these instructions anew every time, you may call a routine in the kernel, which runs a particular set of instructions that were designed for that task. A modern kernel is a string of millions of instructions, but the set for a particular task may only be dozens of instructions long.
DNA is the kernel for the operating system of a life-form. Or maybe I should say a kernel is the DNA of a computer operating system, since DNA came first. Either way, if you understand one, you should grasp the other one pretty quickly.
So now to evolution. Sometimes there are mutations in DNA, where an instruction is changed or cut out. Usually these are harmless. Occasionally they are harmful, because the change happens in an important set of instructions, which that cell can no longer use. The cell may die or become cancerous. But on very rare occasions, a mutation may be beneficial, and the cell now does something better. All that is fact, not controversial.
According to evolutionists, once in a while one of these beneficial mutations allows that creature and its descendants to survive and reproduce better than others without that mutation, so the mutation gradually spreads over generations. The species has improved. Then there’s another mutation, and another, and over a gazillion years, you mutate your way from a bacterium to Eliza Dushku.
The math doesn’t work at all, but let’s ignore that and just go back to our analogy to programming and apply some common sense. A DNA mutation is like a typo or glitch in a piece of code. Often – if it’s in a comment or an area of code that is rarely used – it will be harmless. Sometimes it will be harmful, crashing the program or causing it to work wrong, like giving you the wrong balance for your checkbook. But on very rare occasions, a glitch could cause a program to work better, faster, more efficiently. (It could. I doubt I’ll ever see it in my lifetime.)
Now let’s say you copy this mutated “child” version of the program, and it becomes popular and out-competes other programs of its type. Then someday there’s another beneficial glitch, and one copy again gets a little better and supersedes the others. Generation after generation, most glitches are harmless or harmful and kill programs off, but sometimes one survives and thrives in a new form. How long would it take for your original simple program, like a tic-tac-toe game, to “evolve” via glitches into a grandmaster-level chess program?
Because that’s what evolution means. And I can tell you there aren’t enough seconds in time, or enough electrons in the universe, for that to “just happen” to any computer program.