Over the past year, artificial intelligence has significantly improved its ability to generate written speech. By scanning massive data, a program based on machine learning can generate almost anything from short stories to song lyrics. Now the same methods are also used in encoding with a new tool called Deep TabNine.

Deep TabNine is a code autofill program created by Jacob Jackson, a Computer Science student at Waterloo University. Programmers can install it as an add-on for their editor. It is not unique, this kind of software has existed before, but machine learning has greatly improved its capabilities. The program was first released in November last year, and this month the author released an updated version that uses an algorithm for generating text with deep learning called GPT-2, developed by the OpenAI research lab to improve its capabilities. The update was so impressive to programmers that they called Deep TabNine a “stunning” tool.

Jackson claims that his program offers better hints because it works on a predictive basis, while most other code autofillers have to analyze what the user has already written. Deep TabNine relies on the ability of machine learning to find statistical patterns in data for its forecasts.

Just as AI algorithms are trained on books, articles and other information sources, Deep TabNine has trained on two million files from the GitHub repository. The program finds templates in this data and uses them to suggest what can follow in a code line, whether a variable or a function. According to the author, there are several advantages to using deep learning, most importantly support for new programming languages. Deep TabNine understands about 22 different programming languages (Python, JavaScript, Java, C++, C, PHP, Go, C#, Ruby, Objective-C, Rust, Swift, TypeScript, Haskell, OCaml, Scala, Kotlin, Perl, SQL, HTML, CSS, and Bash), while most alternatives work with only one.

Deep TabNine is not an ideal autocomplete tool and will not write all the code for you, of course. The software makes mistakes in its predictions and is not always useful for some types of coding. The tool works best when autofill relative to template code, a type of programming that is executed thousands of times with small variations. The program is less adapted to writing code when the user solves a new task.

Jacob Jackson compares the use of Deep TabNine with the transition from a touch keyboard in smartphones to a conventional physical keyboard. The program speeds up information input and makes the encoders more productive. Currently, the TabNine license costs $49 for private use and $99 for corporate users.