[link,biology] On God as Extreme Programmer

Nov 17, 2005 11:14


Vova Patryshev makes an argument against the idea of Intelligent Design (with capital letters) along the lines of the closing chapter from Dijkstra's "The Discipline of Programming":

The idea that, having in mind the whole structure of a large system, one can create it, faultlessly, according to design, and it would function as designed (that's the idea of the Big Architects designing Big Things like those on which US DoD had recently wasted $1G without any tangible results), that idea has proven many times to be impossible to implement. Large things grow by themselves. Cities, languages, internet, etc. Detailed intelligent design is impossible.

Specifically, if you believe in intelligent design, compare the complexity of programming a couple of idiots not to eat a fruit from a tree, and designing the idiots themselves so that they could tell a fruit from a tree, could walk vertically, could digest food, could run mitosis in parallel in trillions (quintillions) of body cells…

…Which is not an argument against creationism at all, but instead a new opportunity for its proponents. Indeed, the complexity of a large system grows (at least) exponentially with size, so the point about the impossibility of complete up-front design is valid. However, can't we imagine an Intelligent Designer working within an agile process framework (probably, even including pair programming and collective genetic code ownership)? Can't we interpret the evolution as an iterative development, with environmental challenges being the body of unit tests? There's probably no TDD in here, as (at least some of) the designs get subjected to the tests after they are built and deployed, so we're probably talking about carefully chosen public beta sites. On the other hand, the process can definitely include the user stories and the planning game (say hello to Directed Evolution and all the Platonic stuff Lyubistchev and his disciples were so fond of).

link, biology

Previous post Next post
Up