Kite, the maker of a AI-powered tool that automatically completes lines of code, has added support for 11 new languages beyond Python and JavaScript.
The newly supported languages consist of Java, C, C++, C#, TypeScript, Kotlin, Objective C, Scala, Go, HTML/CSS, and Less. With the 11 new languages, Kite now supports 13 languages. They’re almost all among RedMonk’s list of the top 20 most popular programming languages.
Kite CEO Adam Smith tells ZDNet it will also roll out support for PHP, Ruby and Shell in the next few weeks.
Kite promises to adapt to a developer’s style of coding on the fly and suggest multiple tokens – the equivalent of words – without developers first having to manually define the structure of a ‘sentence’.
However, Kite initially only supported Python completions because its former approach required it to build a dedicated semantic engine for each programming language.
To speed up support for JavaScript and other languages, last year it turned to natural language processing using OpenAI’s GPT-2, a model that is trained to predict the next word based on previous words in a piece of text. It’s powerful enough to generate human-like written paragraphs.
Kite then trained its deep-learning model on 22 million open-source JavaScript files to ensure its product worked with JavaScript frameworks like React, Vue, Angular, and the Node.js JavaScript runtime.
Smith says Kite tweaked GPT-2 code with “quite a bit of proprietary ranking and filtering to de-noise the completions shown by Kite”.
The idea is to use machine learning to save developers time by offering suggestions to complete a line of code. Microsoft delivers this via IntelliCode, a feature of its integrated development environment (IDE) Visual Studio, which supports C#, C++, Java, Python, SQL Server, TypeScript and JavaScript, and XAML. It’s also adding IntelliCode to Visual Studio Code (VS Code) code editor through language extensions.
Kite’s models for each new language are still based on GPT-2 even though OpenAI has released an even more powerful model called GPT-3 – the world’s biggest neural network today – which Microsoft has licensed from OpenAI to build out its Azure AI products and services.
Smith says Kite investigated using GPT-3 for Kite’s code completion but he reckons the model is too large to fit on a developer’s laptop and would create too much latency if it was deployed on a server.
“We looked into GPT-3 when it was first announced. Basically, it is just a very large version of GPT-2. There are not major architectural differences that make GPT-3 inherently ‘smarter’ than GPT-2, besides a much larger model size,” says Smith.
“GPT-3 models would certainly never fit on our user’s laptops. And if we deployed a GPT-3 model to a server, the latency would be too high to be useful in this context. For example, GPT-3 on OpenAI servers takes many seconds to return results. We return completions to users in under 100 milliseconds.”
Kite also supports multiple code editors and IDEs, including VS Code, JetBrains’ IDEs – PyCharm, IntelliJ, GoLand, Android Studio, WebStorm, CLion, PhpStorm, RubyMine, Rider, AppCode – as well as JupyterLab, Vim, Sublime, Atom, and Spyder.
The company will be boosting support for code editors and IDEs over the coming months, says Smith.
“We added C++ support but don’t have a Visual Studio integration yet. The goal is to allow as many developers as possible to take advantage of Kite, no matter their language or IDE.”
The locally installed version of Kite is free for developers and the company offers a server-powered version for enterprises that uses a GPU to enhance completions.