| I've been using Copilot for a few months and... Yeah, it makes mistakes, sometimes it shows you i.e. the most common way to do something, even if that way has a bug in it. Yes, sometimes it writes a complete blunder. And yes again, sometimes there are very subtle logical mistakes in the code it proposes. But overall? It's been great! Definitely worth the 10 bucks a month (especially with a developer salary). :insert shut up and take my money gif: It's excellent for quickly writing slightly repetitive test cases; it's great as an autocomplete on steroids that completes entire lines + fills in all arguments, instead of just a single identifier; it's great for quickly writing nice contextual error messages (especially useful for Go developers and the constant errors.Wrap, Copilot is really good at writing meaningful error messages there); and it's also great for technical documentation, as it's able to autocomplete markdown (and it does it surprisingly well). Overall, I definitely wouldn't want to go back to writing code without it. It just takes care of most of the mundane and obvious code for you, so you can take care of the interesting bits. It's like having the stereotypical "intern" as an associate built-in to your editor. And sometimes, fairly rarely, but it happens, it's just surprising how good of a suggestion it can make. It's also ridiculously flexible. When I start writing graphs in ASCII (cause I'm just quickly writing something down in a scratch file) it'll actually understand what I'm doing and start autocompleting textual nodes in that ASCII graph. |
The thing ive most enjoyed is that it forces me to write out what I want to do in english before getting stuck in the weeds of how the code ought to work.
I've found if I explain the whole program ahead of time (the other day I wrote some python that converted the local time to display on a 13x13 grid of LEDs) co-pilot can write 90% of the code without me, just translating my explanation into python.
I thinking knowing how to express yourself to AI will be a unique skillset akin to being "good at googling"