Can AI Learn to Code? | Straighttalk

Newsletter Subscription

Keep up with new content on the site, receive exclusive content and commentary, and learn about activities within the Straight Talk community.

By Isaac Sacolick, President, StarCIO

This article is by Featured Blogger Isaac Sacolick from his blog Social, Agile, and Transformation.

AI is coming along with artistic impression. There is Paul and e-David that can draw, an AI that can write a Beatles inspired song, followed by an AI that wrote a Christmas song. There's been a lot of work on natural language processing, but natural language understanding remains elusive. It's hard to keep up with all of AI's creative works and how fast AI will go from pattern-based expressions to truly creative ones.

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!

Originally posted on Social, Agile, and Transformation.