Well said.<p>I'd add that evolution works for organisms because they have evolved evolvability. By this I mean that the source code isn't fragile, so that you can take the source code from two organisms of the same (sexually reproducing) species, mix and match them together, and the resulting DNA codes for a viable organism. This even works for closely related species as the existance of mules demonstrates.<p>Programs written by humans in the sort of programming languages we use do not have this characteristic of robustness.<p>Genetic programming would work better using languages specifically designed to be robust in this sense.