  Programming trends suggest that software development will undergo a radical
change in the future: the combination of machine learning, artificial
intelligence, natural language processing, and code generation technologies
will improve in such a way that machines, instead of humans, will write most of
their own code by 2040. This poses a number of interesting challenges for
scientific research, especially as the hardware on which this Machine Generated
Code will run becomes extremely heterogeneous. Indeed, extreme heterogeneity
may drive the creation of this technology because it will allow humans to cope
with the difficulty of programming different devices efficiently and easily.
