Okay so seeing how a brain is made up from 86 billion neurons. 16 of those in the most recently developed cerebral cortex. Randomly creating a set of random configuration of billions of neurons and then subjecting them to simulated evolutionary evolutionary preasure on the basis of how close they come to
A) the correct solution
B) compiling code that runs
C) tests if available*
Kill of the worst performing networks. Mate the most succesful and have the offspring replace those who where not fit enough for survival.
How would it work exactly, I wouldn't know which is sort of the point. But sooner or later representations of abstractions within the code would appear within the graphs.
I get that this is not either trivial and cheap. Let alone hosting the wast amount of source code and parse it would require computing power weighing in at quite a hefty sum.
Human beings probably have the advantage of having built in functionallity that we are born with encoded in our DNA.
I suppose that a fair bit of "intelligent design" would be required. That is having coded parses that breaks down the source code into input signals that would help speed up the evolution.
Even reaching halfway there could be useful. Say by providing useful analysis, maybe warn if something seem stupid. To some extent I believe that for a natural language programming language to be viable some understanding of abstract concepts have to be present in the algorithm. That's why I don't think we'll ever program via speech recognition for example. Whenever Siri is smart enough to parse what we are trying to do, why bother with programming. Why not cut the middle man and plug her directly into Jira. but I'd love to be proven wrong regarding this though.
I am by no means saying that it would be easy or even viable within the forseable future. Thank God for that because that would means unemployment for quite a few of us.
* As I am writing this it struck me that test driven development just happens to make this easier.