As someone with a background in computer programming, I found biology quite frustrating. I wanted to see some underlying structure or meaning in the genetic code. It took me a long time to realize that it wasn't there. Biological systems and their genetic codes are the result of random trial and error filtered through Natural selection. Biological systems clearly have a design because you see the same "form" reappear in each generation, but the design itself is completely random. In other words, the design has to work, but it does not have to be sensible.<p>To summarize, the design of biological systems is random. It was a hard pill for me to swallow, and an utterly dissatisfying one at that.
My #1 link for anyone interested in genetic programming is the language designed from the ground up to be programmed genetically: <a href="http://faculty.hampshire.edu/lspector/push.html" rel="nofollow">http://faculty.hampshire.edu/lspector/push.html</a>
It's been a decade since I have written a BF program, but if I'm not mistaken, the winning strand in the gif example has quite a bit of dead code, for example here:<p>[[]+<-,<<.><+>+,]<p>This entire loop must always be skipped, because if entered, the inner [] loop will also enter, and run indefinitely.<p>It would be cool to run it through more iterations, to get to the local minimum of length, rather than just a correct program.
reminds me of this: <a href="http://www.generation5.org/content/2003/gahelloworld.asp" rel="nofollow">http://www.generation5.org/content/2003/gahelloworld.asp</a><p>where a c++ program is 'evolved' to output "hello world"
props for <a href="https://github.com/r0nk/corvus/blob/master/bird.c#L80" rel="nofollow">https://github.com/r0nk/corvus/blob/master/bird.c#L80</a>