Stealing from other programs is old, human style to write code. A machine learning process has gained the chance to write its own code. The software, called DeepCoder, fixed general problems of the kind set by programming competitions.

Designed by experimenters at Microsoft and the University of Cambridge,  The software, called DeepCoder, fixed general problems of the kind set by programming competitions. This type of approach could make things a lot easier for people to develop simple programs without knowing ways to write code.

Armando Solar-Lezama at the Massachusetts Institute of Technology, who was not connecteded to the project: "Suddenly people could be so much more efficient, they could build systems that it - would be - unimaginable to build before."

Actually, the method could permit non-coders to simply define an idea for a program and let the system build it, says Marc Brockschmidt, one of DeepCoder's creators at Microsoft Research in Cambridge, UK.

DeepCoder utilizes a technique called program formation: creating new programs by reconstructing lines of code extracted from existing software, the same as a programmer might. Given a list of inputs and outputs for each and every code fragment, DeepCoder learned which pieces of code were should achieve the wanted result in general.

"It could allow non-coders to simply explain an idea for a program and let the system build it".

We've all seen the astonishing, not-quite-there art generated by new AIs. And this one's doing this the same way people do, by stealing and remixing.

One benefit of letting an AI loose by doing this is that it can search better and widely than a human coder, so could assemble source code in a way people may not have considered. What's even more, DeepCoder uses machine learning to comb databases of source code and sort the pieces baseding upon its view of their probable value.

All this makes the system much faster than its precursors. DeepCoder generated working programs in fractions of a second, while older systems take minutes to trial several combinations of lines of code before reconstructing something that can do the job. And because DeepCoder learns which sequences of source code work and which ones don't as it elapses, it enhances every time it tries a new trouble.

At the moment, DeepCoder is only efficient in solving programming challenges that include around five lines of code. In the right coding language, a few lines are all that's needed for relatively complex programs.

What do you think?