DEV Community

Cover image for Have you tried GitHub Copilot?
Madza
Madza

Posted on

Have you tried GitHub Copilot?

GitHub Copilot is an AI tool developed by GitHub and OpenAI to assist users of VS Code by autocompleting code.

It was first announced on 29 June 2021. It got quite a buzz on the launch.

Three months has since passed and I was wondering:

  • Have you tried it and what are your impressions/thoughts?
  • Do you see it as a must-have tool in your stack?

Top comments (54)

Collapse
 
chientrm profile image
chientrm

I can no longer code without Github Copilot

Collapse
 
madza profile image
Madza

Thanks for the insight πŸ‘πŸ˜‰

Collapse
 
thomasbnt profile image
Thomas Bnt β˜•

GitHub Copilot is nice but occasionally he would like to write sh*t code with no sense

I even got the same code one time line after line. He probably didn't know what to give me, so he thought "well, he validated the line above me, I'll give it to him πŸ˜†

Collapse
 
karandpr profile image
Karan Gandhi

Thats sound like me in my Junior Dev days ....

Collapse
 
madza profile image
Madza • Edited

Copilot is technically a Junior Dev too (3 month experience) πŸ˜‰
I wonder how he applies to all those job listings asking for 5-10 year experience πŸ˜„πŸ˜„

Thread Thread
 
karandpr profile image
Karan Gandhi

They hired him anyway and asked him to make a revolutionary e commerce website based powered by cutting edge Wordpress + woocommerce with industry leading Bootstrap UI.

He gets paid in exposure.

Thread Thread
 
madza profile image
Madza

He also prolly likes to live dangerously outside the office ⚑⚑😎

Thread Thread
 
karandpr profile image
Karan Gandhi

He has outsourced his work to another github copilot already.

Collapse
 
madza profile image
Madza

Haha, this made my day πŸ˜„

Collapse
 
thomasbnt profile image
Thomas Bnt β˜•

πŸ˜‚πŸ˜‚

Collapse
 
gochev profile image
Nayden Gochev

yeah its good but doesnt work with most languages.
TabNine is bad but works with all languages.. so not sure.

Collapse
 
tabnine profile image
Tabnine

Hi Nayden, Sharon from Tabnine here. Can you please DM us with your email address so we can better learn from your experience?

Collapse
 
gochev profile image
Nayden Gochev • Edited

ok ones I find where the DM is :)) I will do that.

Thread Thread
 
tabnine profile image
Tabnine

You can simply email me at sharon@tabnine.com
Thanks!

Thread Thread
 
gochev profile image
Nayden Gochev

Hey there I will send you but I already send an email to to community@tabnine or something like that asking for you 😊 but I didn’t get replay.

Anyway I will post all the issues here as well since I am not sure the email wont get lost or something.

And let me show you the issue.

I am in some random class and this was not an issue with codata btw so I am in a random class and I invoke autocomplete

1

You see the first two recommendations right ?

All good or it seems to but THERE IS NO PAYMENT RESPONSE in this context

1

So basically TABNINE is SUGGESTING a NON EXISTANT stuff.

With Codata it was not like that.. it was SUGGESTING fields and local variables or methods *but only VISIBLE ones * and this is SUPER annoying that TABNINE suggests a NON existing staff,

Sometimes I have something called β€œres” but Tabnine is suggesting me first β€œresponse” which doesn’t exist, so basically Tabnine is productivity killer and there is no OPTIONS for the plugin so I cannot configure anything, there is no option "do not suggest non existant stuff" =.

I have send you a lot longer email with more examples however basically this is super NOT useful :+) and not WHAT it is suppose to do :) what it does is - it takes me more time to find what is there and what isnt, in short it REMOVES the FEATURES of the IDE and replaces them with a super crappy autocomlete... so basically it makes my productivity LOWER and not HIGHER : )

I think this is very buggy and should be tested since it fails in even the most basic examples, maybe it is nice for PR and DEMO since it has features that are great, but even the basic stuff is not working.

Thread Thread
 
madza profile image
Madza

Thanks, this is an awesome insight πŸ‘πŸ˜‰

Collapse
 
jonrandy profile image
Jon Randy πŸŽ–οΈ • Edited

TabNine is superb - almost feels like it's psychic sometimes. It's the main reason I haven't bothered trying CoPilot

Collapse
 
gochev profile image
Nayden Gochev

not sure which language you are using but in Java TabNine is showing me 99% of the times things that doesnt exists, local variables not defined, methods not found in this class or any of the super classes and etc.

it is a total randomness of completion ... so I lose more time doing crap.. Codata was amazing.. but TabNine bought it and killed it. I dont know why EU doesnt stoped this MONOPOL ways of doing business.

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

Interesting. I'm using it with mainly JS and Python

Collapse
 
madza profile image
Madza

So here goes the idea for devs:
Write a tool that holds the best of both worlds πŸ˜„πŸ˜„βš‘

Collapse
 
mastermind profile image
MasterMind

copilot is brilliant and all but unfortunately it uses up a lot of memory along with VS Code which makes me use it very very less often

or maybe my PC sucks.Β―_(ツ)_/Β―

Collapse
 
madza profile image
Madza

but unfortunately it uses up a lot of memory

Did not know this, thanks for sharing πŸ˜‰
Could you share you main PC specs? πŸ‘€

Collapse
 
mastermind profile image
MasterMind

it's a 4 GB RAM and an Intel i3 processor. not too proud of it 😁

Thread Thread
 
madza profile image
Madza

How does it handle Chrome? I remember I had a low spec PC back in time, and I used Firefox as it could handle multiple tabs better πŸ˜‰

Thread Thread
 
mastermind profile image
MasterMind

Chrome goes well most of the time, but yeah it takes about half a minute to start. Also, I prefer using Opera GX over it πŸ‘€

Thread Thread
 
madza profile image
Madza

I used Opera for sume time in the past too, then FF and now Chrome πŸ˜‰
Brave looks promising and lots of devs use it πŸ˜‰

Thread Thread
 
dilutewater profile image
Rachit Khurana

Well I have 4gb Ram & 3rd gen pentium
embarrassed

Collapse
 
jayjeckel profile image
Jay Jeckel

If and until the copyright issues around the generated code have been worked out, I would strongly advice against using these tools to generate code for open source projects.

For those that are unaware, the model used to generate code was trained on publicly available open source projects. Many (and I'd guess most) of these projects carry licenses that require attribution or even the whole license to be included when their code is reused. Copilot has been shown to reproduce such code without the required legal additions. Therefore any use of Copilot generated code is opening your project up to the possible risk of copyright infringement and, worse, the insult that is reusing open source code without giving the original author the credit they are due.

It's an interesting experiment, but as a tool for work it isn't yet fit for purpose and could actually harm the user, their project, and the open source community as a whole.

Collapse
 
madza profile image
Madza

Thank you for sharing this πŸ˜‰

Collapse
 
ben profile image
Ben Halpern

I wonder how far along it will be once I first get around to playing with it.

I do sometimes feel like software development, in general, is stuck at a local maxima in terms of endless configuration, fragile testing tools and so much manual workβ€” which we could do well to break out of. This certainly seems like it could be a hint at what might be next.

Collapse
 
madza profile image
Madza

Great and thoughtful response as always! πŸ‘πŸ˜‰
Thanks for the share! πŸ™β€

Collapse
 
darkwiiplayer profile image
π’ŽWii πŸ³οΈβ€βš§οΈ

I'm a vim user, so I couldn't try it even if I wanted. But also, I don't see the need for such a tool. From what I've seen, it seems like a tool for people who write repetitive code most of the time, which is something I try to avoid altogether.

Collapse
 
javier123454321 profile image
Javier Gonzalez

Boilerplate is real. It'll do it for you, also inferring variable names, etc. I was pleasantly surprised.

Collapse
 
darkwiiplayer profile image
π’ŽWii πŸ³οΈβ€βš§οΈ

I can't think of anything I've written lately where I would expect a semi-smart AI like gh autopilot to do me any good, but of course I can't say for sure until I've tried it some day. But generally speaking, I just don't write that much boilerplate in general, other than your typical module imports, which are already covered by editors with a snippet feature.

Collapse
 
geraalcantara profile image
Gerardo Alcantara

Well I'm my personal case I'm not a senior dev and a master of any source, so copilot help me to write faster and with nice patterns even on html and like everyone say some times it resolve in none sense code

Collapse
 
madza profile image
Madza

Thanks for sharing πŸ™β€

Collapse
 
kayis profile image
K

It's okay.

Sometimes it would write a bunch of crap, other times I have the feeling it really took my code into consideration and helps to write boilerplate.

It's nice to get a big decision tree with one click and just having to clean up the details later.

But that's it. It doesn't have any good ideas on its own, haha.

Collapse
 
madza profile image
Madza

It doesn't have any good ideas on its own

Maybe that's a good thing, as the other option seems kinda scary πŸ€–πŸ•Ή

Collapse
 
kayis profile image
K

But now I have to have ideas!!! :D

Thread Thread
 
madza profile image
Madza

Just ask him politely πŸ˜„πŸ˜„

Collapse
 
abh1navv profile image
Abhinav Pandey

It's fun to work with.

It's not a must have and it's not perfect by any means - a smart human is still required for it to be fruitful.

I've been using it for 2 months. Definitely helps speed things up.

Collapse
 
madza profile image
Madza • Edited

helps speed things up

Thanks for the insight πŸ˜‰πŸ‘

Collapse
 
aghost7 profile image
Jonathan Boudreau

I have ethical concerns over it so I have not.

Collapse
 
javier123454321 profile image
Javier Gonzalez

It is surprisingly good. It infers boilerplate regarding some functions. It needs A LOT of wrangling though.

Collapse
 
madza profile image
Madza

Thanks for sharing πŸ˜‰πŸ‘

Collapse
 
rejaur2287 profile image
rejaur2287

Long it takes in wiatlist...

Collapse
 
link2twenty profile image
Andrew Bone

I quite like it for writing comments that describe code I've written rather than having it complete whole functions. I also sometimes use it as line completion.

Collapse
 
madza profile image
Madza

Awesome! πŸ˜‰Thanks for the share πŸ™β€

Collapse
 
louislow profile image
Louis Low

Sound promising. Can't wait to try on it.