this post was submitted on 20 Sep 2022
3 points (100.0% liked)

General Programming Discussion

185 readers
1 users here now

A general programming discussion community.

Rules:

  1. Be civil.
  2. Please start discussions that spark conversation

Other communities

Systems

Functional Programming

Also related

founded 5 years ago
MODERATORS
 

I've been using Github Copliot since beta. In general I find it an extremely nifty tool, and definitely recommend it to developers of any skill level to try out.

There's a lot of complaints about Copilot, that IMO are somewhat valid, but also negated. For instance, Copilot is undeniably laundering FOSS code.. But it's also laundering proprietary code. Specific licensing aside, everything Copilot is doing here is lowkey making software much more collaborative and closer to at least some ideas open source stands for.

Another thing people bring up is Copilot would make you forget how to code. After almost a year of using it, I have to disagree. Things like setting up the environment, making architectural decisions, and integrations are always the hardest part about coding, and regrettably Copilot doesn't help with that. Even if Copilot makes you "lazy", so does any good tool.

The real problem is I don't know what my code is doing anymore. It's not that I don't read what Copilot spits out, but when you don't have to put in the effort writing it, you forget the details much more quickly. The obvious side effect is you spend much more time debugging your code, trying to figure out how it works, when you only wrote it a week ago.

you are viewing a single comment's thread
view the rest of the comments
[โ€“] OsrsNeedsF2P@lemmy.ml 1 points 2 years ago (1 children)

I think another big issue is that code can work but also be incorrect.

A lot of people say this, but I personally have not experienced it. On the contrary, most times I'm fighting with Copilot, it turns out Copilot was correct

[โ€“] yogthos@lemmy.ml 1 points 2 years ago

That's just the thing though, it will be mostly correct except for that one time that it's not correct. Ultimately, it's just using a heuristic based on what most repos in github do in this scenario, and majority of the time that will be the right solution. Thing is that you can't just trust it because it doesn't really have an understanding of what the code is meant to be doing, and if it's correct majority of the time that just creates complacency.