Genetic programming is computer programming method used to allow a computer to evolve other computer programs after evolutionary patterns, using crossover, selection, replication and mutations to evolve the programs. Genetic programming is a kind of genetic algorithm and has some relationship with evolutionary programming.
The biggest problem with this approach is, apparently, that program code is very volatile, it can be hard to make a difference to a program that is very small. Changing just a single byte of code representation often results in catastrophic change, even though the program can be in need of a little change. Genetic algorithms need both subtle and large change, and the change in genetic programming is very hard to control. Neural networks are better in this aspect, but they also change and evolve more slowly, and they are not as flexible as GP.