Evolution out of the Code Swamp
As I've ruminated about the challenges of developing autonomous software agents over the past seven years, the one key obstacle that I keep coming back to is code, specifically, hand-designed, hand-written, hand-tested code. I simply can't imagine widespread development and deployment of reliable and flexible autonomous software agents using hand-designed, hand-written, and hand-tested software. It just ain't going to happen. Yes, people will try to do it anyway. Yes, some elite developers can in fact achieve success in narrowly targeted niches, but developing software agents by hand is very clearly not the way to go. We must drag ourselves out of "The Code Swamp" if we want to be serious about designing, developing, deploying, and maintaining software agent technology. The idea that we are going to manually design software that can cope with truly dynamic environments, is simply not credible.
There are any number of paths that we can take, but genetic or evolutionary programming is certainly one of the most promising. Constraint programming is another. My preliminary ideas on Ideal Programming are an effort to start moving more dramatically in the right direction.
We're far from a critical mass today, but the only way we're going to get there is to make sure that we're on a path that leads out of and away from "The Code Swamp."
-- Jack Krupansky