Genetic programming evolves trees of operators and can be Turing complete, I.e. They evolve fully functional algorithms that are capable of computing anything, in theory. It's not actually hard to evolve limited code for most programming languages. Code is just a tree with operators, constants, values etc.
The thing is, a neural network, RBF, CTRNN etc is doing the same thing as any numerical algorithm coded In a programming language, programming languages are designed for humans.
The nice thing about CtRn networks is that they can provably model any real continuous dynamic function, which is basically everything a human can do. The issue is there is no provably mechanism to design the network architecture or parameters and doing so by brute force is NP-hard. Hence the common use of stochastic metaheauristic search algorithms like GAs/PSO/simulated annealing etc.
Yes, I have a PHD in artificial intelligence.