DEV Community

Cover image for Some Experiments with GitHub Copilot

Some Experiments with GitHub Copilot

Rahul Banerjee on July 05, 2021

I recently got my hands the GitHub Copilot extension for VS Code and it's amazing (borderline scary) The examples below are in Python Fu...
Collapse
 
jonrandy profile image
Jon Randy πŸŽ–οΈ • Edited

Looks very similar to TabNine which I've been using for ages - although Copilot seems to be totally OTT in comparison. TabNine's suggestions are fairly conservative, but incredibly helpful - it really does feel like it's reading your mind sometimes.

This level of completion though - especially the very large ones, is an absolute disaster for the levels of competency in the industry, and very bad for people who are learning. It's almost an automated StackOverflow copy-pasta machine.

Possibly useful in the right hands, but - as they say - with great power, comes great responsibility

Collapse
 
rahulbanerjee99 profile image
Rahul Banerjee

Agreed, I wouldn't recommend this tool to people who are learning. The generated code is just going to seem like a foreign language.

And as you aptly put it "with great power, comes great responsibilities".

Collapse
 
seyal84 profile image
AmjD(AJ)

Not really a bad tool for learners as well.

Thread Thread
 
jonrandy profile image
Jon Randy πŸŽ–οΈ

An awful tool for learners

Thread Thread
 
seyal84 profile image
AmjD(AJ)

Lol not really. Depends what kind of a learner you are and how good are at learning new technologies.

So you support people using stackoverflow but not such tools lol. Double standards

Thread Thread
 
rahulbanerjee99 profile image
Rahul Banerjee

If you are learning a language like French, it’s okay to use a French to English Dictionary for translations and grammar rules and stuff. But if you just use google translate and claim you are learning French, lol you are in for a surprise.

And no, it doesn’t depend on what kind of learner you are. It’s a good short term solution to get your code working and stuff but in the long run you won’t be learning much.

Collapse
 
shnydercom profile image
Jonathan Schneider • Edited

Have you tried googling some of the generated code? The tictactoe seems like an example where the AI ran on the natural language part (so the code comments) and the associated code is copied. I would actually prefer an AI to recommend me the full link to SO or GH so I can read the rest of the comments, or even contribute to OSS if the suggestion is faulty. All the copilot examples I saw don't modify the syntax tree much

Collapse
 
rahulbanerjee99 profile image
Rahul Banerjee

I haven’t searched it up but I will. I was under the impression that the tool was actually generating code but I think instead of generating code, the tools just suggests code snippets from public repos. So it’s just an over-hyped search engine Lol.

Collapse
 
shnydercom profile image
Jonathan Schneider

yeah I got the same feeling. Most devs think naming variables is hard, and this tool just has too many "good" names. Now "good" names mostly come from review processes, where the functionality was unclear before. Let us know what you find out :)

Collapse
 
cybeartron profile image
Cybear Tron

Salute!!!! Nice one here!! Thanks I wanted to know about the copilot myself this helped !!! :D