There are 54,993,666,708,469,390,869,140,625 ways to construct a 10-machine-instruction program

Chris Jackson is a Senior Consultant with Microsoft Services. He doesn't blog that much, but when he does, it's a must-read feed for me.

His blog is called 'Evolving the Software Organism' and focuses on genetic programming.

In this post on the topic Chris looks at why the genetic programming approach should be of interest to developers:

"There are many problems that are exceptionally difficult to solve. My most common experiences with difficult problems are around performance and scalability. If I need to write one line of text to a screen, then I can do that good enough, make it understandable, and save a lot of time doing it. If I need to write one line of text to 10 million screens, all in under one second, then suddenly I have a very different problem domain. Of course, I could develop, measure, tune, measure, tune, measure, repeat until I get the application working good enough (which is, after all, what truly matters). But, depending on what I know, this could be an extensively long cycle. It also tends to be somewhat mundane. How do I know that I am tweaking the right thing? What if I never get there? Can this be automated? This automation is genetic programming."