Everyone knows the Terminator franchise, the movies we’d all like to forget, and the first two, the best ones, for now. The eventual rise of SkyNet in the Terminator movies is a nod to a possible future where machines for some reason decide that they need to exterminate or enslave all humans.
Well, that future is probably unlikely, but the truth is that AI, or artificial intelligence, is getting better in many tasks that humans do, especially precision work in factories. Machines are great at assembling stuff, as they are at translating to a degree. But what about coding? Can AI code instead of us and should developers be worried about their future? The short answer is, no, not any developers currently alive, but the future generations, maybe.
BAYOU – Java Developers’ Dreams
BAYOU is the name of the project by Rice University and the US Department of Defence. It is an application which uses deep learning to help coders in Java find the code they require. It uses deep learning to search for various lines of codes which can help the developer.
Similar applications using AI have been in development for the past 60 years. The problem with AI and coding is that it really needs specifics in order to be effective. You could make an AI create a single application, but that is not really helpful to the general population. Chances are that single application is really simple to make in the first place.
The way BAYOU works is by predicting the code for the developers, by using keywords and API. APIs are very important today, and there are so many of them, so developers often have a very hard time with navigating all of them. With BAYOU, that search gets easier and parts of your code might get predicted by an AI.
DeepCoder – Self Coding AI
DeepCoder is a project between a researcher from the University of Cambridge and Microsoft. It is an AI which can build its own applications using the tons of code available online. It gets smarter while doing it, meaning that with each successful application, it gets better and more efficient at building the next one.
Many programmers go online, cute a piece of someone’s code and repurpose it, and realistically, that’s how music and even writing works to an extent, as well as painting. So, why should an AI do differently? It is a very sound principle to build deep learning on.
AutoML – Google’s AI for AIs
AutoML is Google’s choice of AI. Google already has plenty of deep learning in its search, voice and image recognition software. These algorithms are often developed by humans, and take a lot of time and effort. They built an AI which can design such algorithms for other AIs. It is not as simple as it sounds, and the terms used are far more technical, but for the sake of simplicity, it is an AI, rather a neural network, which helps other AIs by designing and proposing models which could be useful.
The conclusion is that while AI cannot actually yet write complex pieces of software on their own, they can do some very specific tasks, which is good enough to make the lives of developers easier, while still not taking their jobs.