Can machine learning make you a better coder? That’s a question that Deep TabNine is trying to answer in the affirmative.
Deep TabNine isn’t the first coding autocompleter, of course. Many developer teams have taken a stab at building a database of classes, variable names, and other snippets that will auto-fill based on whatever the coder begins to type. For instance, IntelliSense (part of Visual Studio) offers code completion, and then you have products such as Kite, an auto-complete plug-in for Python IDEs.
But Deep TabNine’s creators claim they’re improving on any existing paradigm. Leveraging neural networks (the same machine-learning technology that’s currently driving advances in self-driving vehicles and other arenas), the platform parses what the coder’s written so far and tries to predict what’s most likely to come next, surfacing those suggestions in small coding snippets. And thanks to that neural network, it’s supposedly way more accurate than a “traditional” autocompleter.
“Deep TabNine is trained on around 2 million files from GitHub. During training, its goal is to predict each token given the tokens that come before it. To achieve this goal, it learns complex behaviour, such as type inference in dynamically typed languages,” reads the blog post breaking down how it all works.
The project is also very much ongoing. As you might expect, running Deep TabNine requires quite a bit of processing power, which is why there’s a cloud-based version (called TabNine Cloud) that’s currently in beta and available via sign-up.
Deep TabNine supports Python, JavaScript, Java, C++, C, PHP, Go, C#, Ruby, Objective-C, Rust, Swift, TypeScript, Haskell, OCaml, Scala, Kotlin, Perl, SQL, HTML, CSS, and Bash. Purchasing a full license ($49 for individuals, and $99 for businesses) “allows TabNine to index more files, leading to more relevant suggestions.” That might seem like a bit of a hefty cost for a standalone autocompleter (even if it’s ‘roided up thanks to machine learning), but in theory, the time saved typing will translate into significant time/cost savings over time.
TabNine might also serve as a hint of what’s to come. If tools and plug-ins that predict code become more sophisticated, it could radically impact the market for flesh-and-blood developers. Assisted by these tools, coders could become far more productive and powerful; but companies will also need fewer of them in order to accomplish their strategic goals. If you write code for a living, that means it’s more important than ever to keep evolving your skills—the more well-rounded you are, the better your chances of enduring how A.I. and ML will change your professional world.