this post was submitted on 24 Feb 2024
789 points (97.0% liked)

Programmer Humor

19594 readers
803 users here now

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

founded 1 year ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] Landless2029@lemmy.world 7 points 8 months ago (2 children)

... I tend to get down votes when I say copilot has improved my work a ton.

Most of my code isn't ground breaking shit. I gotta write a script for my task. It's 90% copying with 10% modifications for my use case.

It also does comments for me...

I wrote a script the other day in like 30 min tested working that would've been 2 hrs easy.

[–] EatATaco@lemm.ee 5 points 8 months ago (1 children)

Yeah, I was lucky that I snuck into my company's pilot program for it.

I'm impressed at how often it predicts what I'm about to do. The code almost always needs a slight bit of editing, but it almost always at least shaves a bit of time off of whatever task I was doing.

I no longer go straight to stackoverflow, I always ask the copilot first. Sometimes even just phrasing the question in natural language, something I wouldn't do it trying to find it via search or stackoverflow, is kind of like rubber duck debugging, and I'll come up with the answer while writing it out.

[–] Landless2029@lemmy.world 3 points 8 months ago

My fav thing is two things.

  1. It reuses MY OWN CODE STYLE. So if I ignore a suggestion and setup a try catch in my own quriky way it'll actually reuse it later on when I'm scripting. This works best when you add comments for the sections you write FIRST. So you comment # create array for x data it'll do that or try catch for query it'll give you a suggestion for the next block right away.

  2. DEBUGGING. github copilot can see your terminal and script so it'll give you a detailed breakdown and suggestions. Blew my mind the first time.

[–] Hamartiogonic@sopuli.xyz 3 points 8 months ago* (last edited 8 months ago) (1 children)

In my experience, Copilot does a fairly good job when you already know what you’re doing, but can’t be bothered to write the code yourself.

For example, basic stuff like read data from that file, use dplyr, remove these columns, do these calculations, plot the result using ggplot2, label the axes this way, use those colors etc. Copilot gives you the code that does roughly what you want, but you usually need to tweak it a bit it to suit your preferences. Copilot also makes absurd mistakes, but fixing them is fairly easy. If this is the sort of stuff you’re doing, copilot can indeed boost your productivity.

However, if you don’t know how to do something a bit more exotic like principal component analysis, and you ask copilot to do the job for you, expect plenty of trouble. You may end up on a wild goose chase, using the wrong tools, doing unnecessary calculations and all sorts of crazy nonsense. When you know what you’re doing, you can ask a very specific thing. When you don’t, you may end up being too ambiguous in your prompt, which will result copilot leading you down the wrong path.

You can do it this way too, but before implementing a single line of that garbage code, you absolutely have to ask copilot a bunch of questions just to make sure you really understand what you’re doing, what the new functions do, where do you really want to go etc. You’re probably going to have to tweak the code before running it, and that’s why you need to know what you’re doing. That’s the one big area you can’t outsource to copilot just yet.

But is it still faster than reading the documentation and building your own experimental tests? If you spend an hour and get a pile of broken garbage, then certainly not. If you spend a bit more, ask plenty of questions, make sure you know what you’re doing, then maybe it is worth it.

[–] Landless2029@lemmy.world 2 points 8 months ago

I 100% agree. I especially love when copilot literally just starts making up shit that doesn't work or doesn't exist. Like it can't be wrong. It just freaking guesses... God forbid it can't admit it doesn't have enough data to answer the question.

Best part is when you say "that command doesn't exist" it's like "I apologize. Here is a real command to accomplish your task"

SMH

Again, to your point, I agree that copilot is amazing if you already know how to write the code you want. We're smart enough to know that the suggestions will work for our task. It's definitely not smart enough to replace you