12.04.2023 Update: We updated our post for 2023.
05.04.2023 Update: See our post about GitHub Copilot X.
03.04.2022 Update: We updated the article to give more information on Kite's situation. We also included the information about wider availability of GitHub Copilot.
13.07.2022 Update: We updated the article to add a section about Amazon CodeWhisperer, and to add more information about Copilot.
Last year, in 2022, we had quite a few announcements about the releases of Artificial Intelligence assistants for developers. The year was not even the year of pioneers. That is reserved for 2014 - the year that the first tool was released. That's why 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 most popular 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.
Here is a little demo of what it can do
Here is another demo, where you may see how well GitHub Copilot works on Java Spring code:
Few months gone by, and we know now, that the AI autocompletion engine from GitHub does have some problems with outputting GPL-licensed code from time to time. By definition, GNU Public License does not allow the reused code to be a part of a commercialized/closed-source project.
Nevertheless, some people will be incredibly pleased about the fact, that GitHub has announced the general availability of their helper. How much is GitHub Copilot? It's either $10 per month or $100 per year.
Even though, it used to be available in Visual Studio Code only, it now works in the Intellij-based family of IDEs by Jetbrains, and Microsoft's Visual Studio 2022.
If you are on the fence whether to choose GitHub's Copilot assistant or maybe CodeWhiperer is more for you, we have a couple of videos for you that could guide you choice.
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.
Note: Kite will not be available ever again. Sadly, "Kite is saying farewell."
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.
The company was a true pioneer in the field. They launched their product 8 years ahead of GitHub, much before even the underlying OpenAI model. As it sometimes happens, the technology was not quite there at the time, nor was the interest. They were too ahead of their times.
Guido van Rossum, the creator of Python himself, tweeted he was 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.
Back in the day, 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.
16 of them, including the most popular Python editors:
As of 22.09.2021, downloading the client is not possible. Sadly, it won't be available anymore, although if you want to compile the tool yourself, you may.
The tool from Amazon has probably the most hilarious name out of the four tools. If you don't know why it is funny to us, then there is a famous show called "Dog Whisperer."
It might seem as, as if the company is copying Copilot, perhaps "the hottest" tool out of all from this list. As we have written before, that might not be the case:
The company has stated that this is not a copycat of Microsoft’s tool but something they have been working on for some time, laying the groundwork with DevOpsGuru and CodeGuru a few years ago.
Key benefits of using Amazon CodeWhisperer include:
1. Accelerated frontend and backend development with automatic code recommendations for next-gen applications.
2. Saving time and effort by generating code to build and train ML models for your applications.
3. Speeding up development processes with code recommendations for popular AWS services, including Amazon EC2, AWS Lambda, and Amazon S3.
4. Automating unit test generation based on natural language comments, offloading repetitive unit test code writing.
"[M]ultiple IDEs—including JetBrains, Visual Studio Code, AWS Cloud9, or the AWS Lambda console"
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.