this post was submitted on 28 Sep 2024
1165 points (99.0% liked)
Programmer Humor
32542 readers
498 users here now
Post funny things about programming here! (Or just rant about your favourite programming language.)
Rules:
- Posts must be relevant to programming, programmers, or computer science.
- No NSFW content.
- Jokes must be in good taste. No hate speech, bigotry, etc.
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
I use VS Code and GitHub Co-pilot and develop in a variety of different languages and frameworks. I've got lots of experience with some, but I'm less knowledgeable on others.
So, having the AI assist with languages I am very familiar with is basically a way to save time and preserve my mental energy. For languages and frameworks I'm less experienced with, it speeds things up because I'm not having to constantly search how-tos and forums for guidance. And for languages/frameworks I have limited or no experience with, it can be a helpful learning tool that speeds up how long it takes to get ramped up.
With this set-up, if I start writing a line of code and then pause for a moment, co-pilot kicks in and tries to autocomplete that line, sometimes even suggests the entire block of code. It's really good at recognizing simple patterns and common boilerplate stuff. It's less good at figuring out more complex stuff, though.
However, I find that if I start out by writing a comment that explains what I'm trying to accomplish, and to some degree how to accomplish it before I start writing one of those more complex blocks/lines, the AI has a much higher success rate in returning helpful, functioning code. So, basically yes, I write the comment to describe code I haven't written, and I'll let the AI take over from there.
This works for code, raw database queries, configuration files, and even for writing tests. I'm not an expert at building out Docker configurations for local development or configuring auto-deployment on whatever random system is being used for a project, but I can often get those things up and running just by describing in comments what I need and what I'm trying to accomplish.
The VS Code co-pilot extension also has some context menu items that let you ask questions and/or ask for suggestions, which comes in handy for some things, but for me, typing out my intentions in comments and then letting the auto-complete kick in as I'm starting a line of code is faster, more efficient, and seems to work better.
Granted, co-pilot also likes to try to auto-complete comments, so that's sometimes funny just to read what it "thinks" I'm trying to do. And most of the time, I do remove my comments that were specifically to guide co-pilot on what I wanted it to do if they're super redundant. And, at the end of the day, not everything co-pilot suggests is production-worthy, functional, nor does what I actually described. In fact, a lot of it is not, so you should expect to go back and fine tune things at a minimum. It's just that overall, it's good enough that even with all the supervision and revisions I have to make, it's still a net positive, for now.
Awesome, thank you! This largely matches my own experience, I've found it (Claude in my case) most useful in areas where I'm weakest. I haven't tried this scaffolding-via-comments approach though, it sounds cool.
Any experience with Cursor or other IDEs or agents? Was co-pilot a choice or just kinda a natural default?