I tried GitHub Copilot
It's very cool. Won't take your job yet, but it will take Stackoverflow's job.
I recently got access to the Github Copilot, it’s quite impressive.
Some time ago I tried to use GPT-J (a sort of Open Source gpt-3) for code completion, and I was impressed. I was left thinking what it could become with a more focused training set.
Github Copilot is indeed better trained to handle code than GPT-J, and it has a good understanding of the project you are using it on. As a general rule, if you think you could just copy and paste the function you're writing from Stackoverflow, then Github Copilot will probably suffice. But also, it adjusts appropriately the code for the Class/file/function you’re writing, picking up class properties, variables and imported classes.
As with GPT-J, describing carefully the function in the comments, or trying different names for the function, produces different results. It really feels like a fuzzy tool, but I’m left with the suspicion that I could learn to tame it over time.
It has evident limitations. It feels a bit like there’s a guy on the other side, which hasn’t really learned to code properly, but never gets the Syntax wrong, and can pattern match very well against an enormous database. This guy is often lucky, and sometimes just gets it.
I feel like the Copilot is not smart, there isn’t an intelligent form on the other side, but this is maybe the obsolete coder in me trying to defend his position.
> It feels a bit like there’s a guy on the other side, which hasn’t really learned to code properly, but never gets the Syntax wrong, and can pattern match very well against an enormous database. This guy is often lucky, and sometimes just gets it.
Talking with that guy may be the next step. See Google's LaMDA dialogue code-writing: https://arxiv.org/abs/2108.07732#google