Coding, a significant AI challenge
Getting an AI to code is going to get a lot of attention. Microsoft Research and Cambridge University are experimenting with DeepCoder an AI that codes by reusing existing lines of code from other programs. It can solve challenges that require around five lines of code. It's a significant achievement, though DeepCoder's researchers admit that even basic programming challenges will take a lot more research and "Generating a really big piece of code in one shot is hard, and potentially unrealistic."
Still, for those of us who grew up coding or began our careers as software developers, this achievement makes us wonder how hard it will be to succeed at the next challenge and how fast will we see breakthroughs in this line of research. Is it a matter of breaking down coding challenges to the right set of expressions for AI to process, or is there a fundamental creativity in coding that will be difficult for AI to replicate? Having AI assemble code rather than program fresh lines of code seems like a good starting point knowing that it is often easier and faster for humans to reuse code rather than build new.
But the hardest challenge may be in deciding what coding problems to apply AI and the optimal way to present coding tools or skills to an AI engine. Trying to get AI to code even simple programming assignments is a challenge because coding is an expression. It's closer to natural language challenges, whereas successful AI has been in areas of pattern recognition (computer vision, basic forms of art and music) and decision making (playing games, self-driving cars).
We'll have to wait and see!