You might’ve seen people on the internet saying “it’s like my autocomplete gets me.” Indeed, Keyboard protection AI has come a long way so much so that it can almost complete your sentences. So, why shouldn’t developers get the benefit of auto-complete too?
For years, IDEs (Integrated Development Environment) have tried to make development quicker by predicting the next part of a developer’s code. Now, startups like Codota are using AI to help developers with code completion on any code editor.
Yahav told me that Codota differs from other code completion AIs as it’s able to predict the next token completion by leaning on an AI-based code ‘dictionary.’ He added that the model is tuned to your needs and your development environment:
Codota’s model can be different for each developer, suited to their needs and their development environment. It is able to predict pontentially long completions for you that would have high likelyhood of appearing in your application.
This is different from when a code completed tool predicts common methods of completing that piece of code. For instance, if you’re building a class for students, Codota’s AI will suggest name and ID variable along with constructor for the class.
Last year, Codota acquired Tabnine, one of the most popular AI-based code-completion tools around. Tabnine’s algorithm is based on OpenAI’s GPT-2 natural language processing model. In contrast, Codota’s model is trained on tons of open-source code to understand semantics. Currently, more than a million developers use these products.
For its next steps, the company wants to allow developers to impart their knowledge to AI for specialized cases. For instance, if you’re using an API, AI will suggest you the right way to use it.
Adam Smith, Kite’s co-founder, is buoyant about AI’s role in programming. He said that he can imagine a future where every development environment uses machine learning for code-completion and provides assistance to the programmer so they can focus more on problem-solving.
Published May 14, 2020 — 12:46 UTC