I decided to write an article about these two AI programming assistants because I've tried them both and they both have their advantages and disadvantages.
Here are the positive and negative points in my opinion.
- VS Code
- Tabnine Pro
Copilot: To get the GPT-3 result, you must pause before typing anything else. This may not work for you if you type quickly. I grew used to that because if you're stumped on a problem, it can be there with a result.
Tabnine: Very fast, but has too many results at times, so it will change it before you press the tab. This does slow you down because you will have to backspace or undo.
Copilot: When it does have a solution it's normally accurate. If you need just a short code snippet it sometimes wants to complete several lines so you have to complete some code then tab to get a short piece of code.
Tabnine: Even with the Team Training approach, I found the accuracy to be lacking. The first result in a file may be perfectly correct, but the next line may be completely absurd. I discovered that if you keep typing the code, it will ultimately complete the correct code, but not right away.
When I was on a trip and didn't have internet I thought that Tabnine would still complete but it was slower and not as accurate for some reason.
AI Code Stats
Copilot: I don't believe copilot has stats.
Tabnine: Displays code completion statistics. The only issue with these statistics is that they may be skewed because you tabbed on the incorrect result and then erased the code, which in my tests still counted as an autocomplete even after I deleted it. I still like this feature and would want to see it included to Copilot in the future.
Copilot: Does not have the option to train on a private repo and only trains when Github updates or trains in the AI. You cannot train it manually.
Tabnine: You can train it on multiple private repos so you have a more accurate AI engine. Keep in mind that the local db file for the AI is downloaded on your computer.
If your code repository modifications are allowed, the only confusing aspect of the feature is that there does not appear to be a mechanism to retrain the model. When you add new repos, it doesn't seem to retrain, and it doesn't even seem to retrain on its own according to a schedule.
So I would assume after a while it doesn't get as accurate results?
Typing slow downs
Copilot: I have not seen any performance issues or typing slow downs when using Copilot.
Tabnine: Due to the fact that Tabnine occasionally uses the hybrid mode to do local tasks, your computer's resources, including the CPU and RAM, may be used. I've also seen that my typing speed returns to normal when Tabnine is disabled. I suppose there is a trade-off between the AI assisting you and not.
Tabnine: It occasionally does autocomplete within a string, which is quite good.
New to programming
If you're new to programming, I wouldn't rely on an AI to assist you until you're more experienced with the language, so it shouldn't be used as a crutch. Because these AI systems may create faults and security risks, you should be fluent in the language.
It's like receiving a self-driving car and not understanding how to drive.