I might be a super weird use case BUT believe it or not I use both Tabnine and Copilot and I kinda like the combo. Here's how it works:
I use Copilot for its multi-line code generation. It's vastly superior. (Sorry Tabnine). Gotta give credit to Tabnine for kicking off this space -- they had a multi-year headstart on Copilot and it was pretty cool when it first launched, but it just doesn't come close to Copilot. OpenAI is kicking butt here.
Having said that, I still find value out of Tabnine -- I keep it installed it powers the pop-up autocomplete (eg Intellisense replacement). The Tabnine suggestions are immediate (as opposed to Copilot which takes a few seconds), and in a lot of cases it's super helpful for completing a variable name after 1 character, etc.
If I ESC out of the Tabnine suggestion, then Copilot takes over and a few seconds later I get a full line/multi-line suggestion.
I dunno - it's been working really well for me. Peaceful coexistence :)
The entire programmer ethos revolves around building deep understandings of the level abstraction you're working at and deep diving into the layers below when necessary or even just for fun!
I've watched people use co-pilot but and I'm not 100% convinced it's a good thing but I'm open to it. The problem I've seen is that in some cases it generates some really bad code, code that could've been replaced by usage of a standard library.
What I think it's really good at is helping to learn new languages. Getting idiomatic code generated, even if you throw it out eventually is a great way to get a feel for a new language without having to jump back and forth between the editor and the browser.
I save tons of time having to write matplotlib code etc. because AI does it for me and I can spend more time thinking about the deep parts of research. I basically haven't had to write more than 1 or 2 keystrokes for a plot I've made in months now. If that's not useful I don't know what is.
I see it differently. The entire ethos should revolve around product that works. Product the meets a market need. Product that brings joy (not friction) into the world.
Any tool that can meet that ends should be considered.
Put another way, users don't care what anyone (i.e., in engineering) does or does not know. They're not going to wake up and say "I only want to use products that don't use Copilot." Nobody cares about any ethos, etc.
Well I don't think I've shot myself in the foot, it seems a lot of people agree with me.
I'm not against the idea of ai coding tools on premise, but it did strike me as kind of funny to imagine someone using two such tools at the same time.
I'm more of a minimalist, and would generally prefer to have lean tools which get out of my way. The idea that every keystroke involves a back-and fourth with a server, and that my basic coding workflow would need an internet connection is not something which is super appealing to me personally.
Call me old fashioned, but when I need to create so much boilerplate that code generation starts to make sense, I usually just try to solve the problem in another more concise way.
As with any technology, there are those who don't like it, and that's fine.
I personally don't "trust" AI's decisions all that much, and I enjoy learning how to implement things on my own. Maybe that's why I won't be using Copilot, at least for now.
I feel Copilot indispensable - with the constant emergence of frameworks, languages I need to keep learning, it really shortens the time it takes to get productive in an unfamiliar environment.
I don't see the contradiction - if someone who started programming in the pre-Internet days in a text editor, then switched to an IDE with autocomplete and searchable docs, would it be hyperbole for him to say that he finds these tools indispensable?
You are not the only one that has said this but would love a link to a video on how you like to work with both together.
Copilot uses a huge model and a ton of GPU's (and an unlimited budget) to focus on really long completions. This is a very specific choice to go for long completions.
We have worked hard to solve this problem differently and with the new generation you will see longer multi-line completions while also giving developers the options to use shorter suggestions (perhaps together with Copilot)
I use Copilot for its multi-line code generation. It's vastly superior. (Sorry Tabnine). Gotta give credit to Tabnine for kicking off this space -- they had a multi-year headstart on Copilot and it was pretty cool when it first launched, but it just doesn't come close to Copilot. OpenAI is kicking butt here.
Having said that, I still find value out of Tabnine -- I keep it installed it powers the pop-up autocomplete (eg Intellisense replacement). The Tabnine suggestions are immediate (as opposed to Copilot which takes a few seconds), and in a lot of cases it's super helpful for completing a variable name after 1 character, etc.
If I ESC out of the Tabnine suggestion, then Copilot takes over and a few seconds later I get a full line/multi-line suggestion.
I dunno - it's been working really well for me. Peaceful coexistence :)