The Rise Of AI Code Autocompletion Engines - GitHub Copilot, Tabnine, And Kite
Cloud & DevOps
03.04.2021 Update: We updated the article to give more information on Kite's situation. We also included the information about wider availability of GitHub Copilot.
AI autocomplete engines are not a novelty by any means. Their purpose was and still is simple - to make programming simpler, and less reliant on our human memory - which is much more error-prone than computer memory.
A lot of people get the purpose of AI autocomplete engines wrong. It is not the replacement of a human programmer, but rather augmenting their capabilities, and making the code better. The ones who fear that code autocomplete engines will replace professional software developers, we have rather good news for you - chances are they won’t, though it could be close. If you are not convinced, these engines work the same way as looking up documentation and/or real-life examples. The only difference is it happens automatically vs having to open a new browser tab.
Now that you know they are here to help you, then what are the options that you have? Mainly, there are three.
GitHub Copilot, the newest option on the list, also seems to generate the most emotions. It is the effect of collaboration between Microsoft and OpenAI, and is based on a natural language processing model called “Codex”. The neural engine had been trained on publicly available GitHub repositories before the release (and most likely still doing so as we speak), processing countless projects and files to offer the best possible autocompletion options possible. The proposed options indeed are quite promising.
Once you get approved, it’s time to install the extension for your VS Code. Look up “github.copilot” in the Extensions view
Install the extension
Click “Sign in to GitHub” in the popup on the bottom right
You’re ready to go!
Tabnine (Formerly Codota)
Tabnine, initially a creation of a college student, turned into quite a popular product. The paid and free options were both available from the start, with all features unlocked when you worked on a project using Rust. As the author stated, it’s “in acknowledgment of the fact that TabNine could not exist without the Rust ecosystem.”
The autocompletion options are not as spectacular as with the case of the recently-announced GitHub Copilot, though they still do make programmers’ lives easier. There is an experimental option to enable longer completions, though keep in mind it is by no means complete.
Follow the instructions listed on the company’s page
Note: Kite is “temporarily unavailable”, and might not be available ever again. For more, see this comment.
The last option on our list was historically dedicated to Python development, and, as such, it provides the best features specifically for Python developers. Not only were you able to quickly search the documentation, but the engine will look it up for you automatically, thanks to the “cursor-following” feature.
Guido van Rossum, the creator of Python himself, tweeted he is enthusiastic about the helpers’ capabilities:
As you can well see, the target market for Kite is pretty obvious, and so if you are mainly a Python programmer, or just use the language daily, there would have been no better option for you. So, why are we writing about it as if it isn't available anymore? That's because it isn't. At least ever since we first wrote this article (September 2021), you may not download Kite.
What's up with Kite? Sadly, it seems as if Kite had been acquired by another company, and it is not keen on having it out there. More on the topic in this GitHub thread.
Kite Supported Languages
The company claims to support 16 languages, though naturally, it is recommended you decide to use the engine if Python is a go-to language for you.
Kite Supported Editors
16 of them, including the most popular Python editors:
To end with, the capabilities of all the aforementioned engines are still quite underwhelming. We still could not have dreamt of such capabilities even 10 years ago, which showcases how fast is this space moving.
We can only expect our smart helpers to become smarter. No worries here – your job is safer than you think. You have to remember, that AI cannot come up with anything new, and it is doubtful it ever will. It’s because computers lack the ability to think abstractly, or creatively. All they do is process the data that already exists unlike humans, which do transform pieces of creative work into something new.
360° IT Check is a weekly publication where we bring you the latest and greatest in the world of tech. We cover topics like emerging technologies & frameworks, news about innovative startups, and other topics which affect the world of tech directly or indirectly.