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.
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.