Teaching a Machine to Code, at Joy of Coding 2018

On Friday, I gave a talk at the Joy of Coding conference. The topic: “Teaching a Machine to Code”.

In this talk, I explained why we at Prodo.AI are working on next-generation tooling for developers, leveraging neural networks alongside traditional static analysis to find problems faster.

I also gave four (live!) demonstrations of how we can use machine learning and other more “human” techniques to detect and repair defects in code.

But mostly I talked about the difference between humans and machines, and how we can rebalance software development in favour of creativity.

Here’s a snippet:

This is part of the power of JavaScript: instead of forcing you to define your specification up-front like most typed languages, it allows you to experiment with code, try stuff out, perhaps write a couple of test cases. This makes it far more accessible, allows for easier prototyping and stops you having to negotiate with the compiler. As anyone who’s tried advanced trickery with generics in Java can tell you, arguing with a compiler is no fun at all.

I’d love to see a middle ground: the ease of dynamic coding at the start, with the power of a machine helping me, not intruding, and gently pointing out mistakes without interfering with my workflow.

And I’d ideally like to do as little mechanical work as possible to get there.

If you missed it, don’t fret. You can read an essay form of the full talk.

And if you prefer to watch a video, it’ll be up soon. (It’s only half an hour. Short talks are great.) I’ll write another post linking to the video, and the videos of the other talks, when they’re online.

Joy of Coding was a wonderful conference, full of excellent talks, conversations and people. I thoroughly enjoyed it, and hope I can be there again next year. If you’re in the market for an inexpensive one-day conference designed to make you think hard about what you do every day, I can’t recommend it enough.

comments powered by Disqus