Why would the AIs spit out code? I think the point of the article is that they'll spit out black boxes full of weights that can be used to compute anything ala the universal approximation theorem. You'll train a neural net for a given task and verify the results. Producing code seems to be pandering to our ego.
Because code is faster and more correct than a neural net if written reasonably. With code you don't need several gpus to calculate a sum of several million records in database.
> Because code is faster and more correct than a neural net if written reasonably.
But, as the article points out, at least for a considerable set of problem domains, it's not.
My general rule of thumb is that anything that has a relatively small, finite, discrete set of inputs and outputs is better suited to "Software 1.0" (e.g. coding a calculator). But there are a huge number of domains, some highlighted in the article, which usually have to do with an infinite possible number of inputs and outputs, where human written code is not faster or more correct than a neural network.
Code can also be debugged and fixed. AI needs to be retrained and retested - probably multiple times. Each retraining may cause a regression in any area.
A reasonable question. My answer is a lot of state in computing is digital. e.g. off, booting, loaded, running, paused, error. While this isn't an insurmountable hurdle, I would suggest the floating point arch of present AI would benefit from incorporating more discrete state.
Similarly, I don't whether AI weights are computed all in virtual parallel, but if they are computing every node simultaneously that will be less efficient than the Neumann model in which a Program Counter (PC) acts like a "cursor" hopping arund and iterating states of the discrete code model at points throughout it. E.g. a video game with a controller and various sprites will have objects that update at various rates and the player moves with different code underwater than in the air, than on land, so different parts of the model would execute.
Because most code involves teams and different stages of development, not just a single approximation of a good enough result. And what happens when you need to make tweaks? The UI isn't quite right or a business rule needs to be added.