LambdaCalculator
September 21, 2006, 06:53 PM
I'm a big critic of the IDers usage of analogies to areas of computer science as an argument for ID. They are used quite often, such as this paper (http://www.math.utep.edu/Faculty/sewell/articles/mathint.html) from a mathematician a U-Texas El Paso (I found it linked on Bill Dembski's crappy blog). Most of it is the standard creationist argumentation, but this passage stands out in it's utter annoyance:
If a billion engineers were to type at the rate of one random character per second, there is virtually no chance that any one of them would, given the 4.5 billion year age of the Earth to work on it, accidentally duplicate a given 20-character improvement. Thus our engineer cannot count on making any major improvements through chance alone. But could he not perhaps make progress through the accumulation of very small improvements? The Darwinist would presumably say, yes, but to anyone who has had minimal programming experience this idea is equally implausible. Major improvements to a computer program often require the addition or modification of hundreds of interdependent lines, no one of which makes any sense, or results in any improvement, when added by itself.
Setting aside the rest of the reasons that it's a fundamentally flawed analogy, it might be good to zero in on one major flaw I think often gets overlooked. Namely, he links the DNA in the genotype of an organism to the actual languages used in computer science.
There are two major problems that I see with such analogies. One is that DNA, as far as I know, doesn't have any higher levels of implemenation than the double-helical organization of nucleotides itself, while computer languages go from binary object code, to asm, the high level languages like C and FORTRAN.
The other may be the more interesting one. Namely, modern computer science languages are designed specifically to avoid functional redundancy, large non-functioning strings, and random post-hoc additions to the code. We see these things all the time in DNA (the latter of which would be ERV's).
What I'm getting at here is this: it would seem that, much like what we expect from non-designed phenotypes (vestigial traits, suboptimal functioning, etc.), DNA is what we would expect from a code that wasn't designed while a language used in computer science is what we would expect that was designed. Or, put more simply, DNA as a code has the same flaws that we find on the phenotypes of many organisms in comparison to things that are designed.
Thoughts?
If a billion engineers were to type at the rate of one random character per second, there is virtually no chance that any one of them would, given the 4.5 billion year age of the Earth to work on it, accidentally duplicate a given 20-character improvement. Thus our engineer cannot count on making any major improvements through chance alone. But could he not perhaps make progress through the accumulation of very small improvements? The Darwinist would presumably say, yes, but to anyone who has had minimal programming experience this idea is equally implausible. Major improvements to a computer program often require the addition or modification of hundreds of interdependent lines, no one of which makes any sense, or results in any improvement, when added by itself.
Setting aside the rest of the reasons that it's a fundamentally flawed analogy, it might be good to zero in on one major flaw I think often gets overlooked. Namely, he links the DNA in the genotype of an organism to the actual languages used in computer science.
There are two major problems that I see with such analogies. One is that DNA, as far as I know, doesn't have any higher levels of implemenation than the double-helical organization of nucleotides itself, while computer languages go from binary object code, to asm, the high level languages like C and FORTRAN.
The other may be the more interesting one. Namely, modern computer science languages are designed specifically to avoid functional redundancy, large non-functioning strings, and random post-hoc additions to the code. We see these things all the time in DNA (the latter of which would be ERV's).
What I'm getting at here is this: it would seem that, much like what we expect from non-designed phenotypes (vestigial traits, suboptimal functioning, etc.), DNA is what we would expect from a code that wasn't designed while a language used in computer science is what we would expect that was designed. Or, put more simply, DNA as a code has the same flaws that we find on the phenotypes of many organisms in comparison to things that are designed.
Thoughts?