Reflections on Copilot

created: Thu, 05 Dec 2024 10:55:34 GMT, modified: Fri, 03 Jan 2025 16:42:30 GMT

New GitHub Copilot Research Finds 'Downward Pressure on Code Quality'

https://news.ycombinator.com/item?id=39168105

I cancelled my subscription after 2 months because I was spending way too much mental effort going over all the code vomit fixing all the mistakes

Oftentimes it will produce code that’s outdated. Or, it will output code that seems great, unless you have an advanced understanding of the browser APIs and behaviors or you thoroughly test it and realize it doesn’t work as you hoped.

I find co-pilot primarily useful as an auto-complete tool to save keystrokes when writing predictable context driven code.

Echoing this, it takes longer to read code than to write it, so generally, if you know what you want to write and it's non-trivial, you'll spend more time groking AI-written code for correctness than writing it from scratch.

For me it's useful for new languages that I'm not familiar with, saves a lot of googling time and looking up the docs.

As Adam Tornhill eloquently put it on Twitter, "the main challenge with AI assisted programming is that it becomes so easy to generate a lot of code that shouldn't have been written in the first place."

Github Copilot is really good at writing spaghetti code. It isn't good at refactoring and modularizing your code. So if you're used to writing spaghetti code yourself, you can work with it and manage the complexity. If you're used to writing highly-factored code, the code it generates is going to require a lot of work.

One thing that I found especially helpful when using CoPilot and ChatGPT is that I can get an answer very quickly and directly, instead of having to wade through a lot of blogs or articles on Stack Overflow.