this post was submitted on 07 Jun 2024
559 points (99.3% liked)
Technology
59534 readers
3195 users here now
This is a most excellent place for technology news and articles.
Our Rules
- Follow the lemmy.world rules.
- Only tech related content.
- Be excellent to each another!
- Mod approved content bots can post up to 10 articles per day.
- Threads asking for personal tech support may be deleted.
- Politics threads may be removed.
- No memes allowed as posts, OK to post as comments.
- Only approved bots from the list below, to ask if your bot can be added please contact us.
- Check for duplicates before posting, duplicates may be removed
Approved Bots
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Using Copilot as a copilot, like generating boilerplate and then code reviewing it is still "babysitting" it. It's still significantly less effort than just doing it yourself though
Until someone uses it for a little more than boilerplate, and the reviewer nods that bit through as it's hard to review and not something a human/the person who "wrote" it would get wrong.
Unless all the ai generated code is explicitly marked as ai generated this approach will go wrong eventually.
Undoubtedly. Hell, even when you do mark it as such, this will happen. Because bugs created by humans also get deployed.
Basically what you're saying is that code review is not a guarantee against shipping bugs.
Agreed, using LLMs for code requires you to be an experienced dev who can understand what it pukes out. And for those very specific and disciplined people it's a net positive.
However, generally, I agree it's more risk than it's worth
Surely boilerplate code is copy / paste or macros, then edit the significant bits—a lot less costly than copilot.
That would still make more effort.
So, for an example we use a hook called useChanges() for tracking changes to a model in the client, it has a very standard set of arguments.
Why would we want to waste time writing it out all the time when we can write the usual comment “Product Model” and have it do the work.
Copy and Paste takes more effort as we WILL have to change the dynamic parts every time, macros will take longer as we have to create the macros for every different convention we have.
If you can’t see the benefit of LLMs as a TOOL to aid developers then I would hazard a guess you are not in the industry or you just haven’t even given them a go.
I will say I am a new developer and not amazing, but my boss the owner and lead engineer is a certified genius, who will write flawless code on damn teams to help me along at times, and if he can benefit from it in time saved then anybody would.
My PhD was in neural networks in the 1990s and I’ve been in development since then.
Remember when digital cameras came out? They were pretty crappy compared to film—if you had a decent film camera and knew what you were doing. I fell like that’s where we’re at with LLMs right now.
Digital cameras are now pretty much on par with film, perhaps better in some circumstances and worse in others.
Shifting gear from writing code to reviewing someone else’s is inefficient. With a good editor setup and plenty of screen real estate, I’m more productive just writing than constantly worrying about what the copilot just inserted. And yes, I’ve tested that.
Clearly what works for our company ain’t what would work for you, even if I think it’s preposterous what you’re claiming.
My boss was working on Open Source from the BSD days and is capable of very low level programming. He has forgotten more than I’ll ever know, and if he can find LLMs a useful tool for our literal company to improve productivity then I’m inclined to stick with what I have seen and experienced. Just not having to do and search documentation alone is a massive time saver. Unless obviously you know everything, which nobody does.
How is it more effort to automate boilerplate code? Seriously the worst part of being a programmer is writing the same line of code all of the time. Especially when you know that it won't actually cause anything interesting to happen on the screen it's just background stuff that needs to happen.
When I used to develop websites I don't think I could have lived without Emmett, which was basically the predecessor to co-pilot.
Well you have to actually setup the boilerplate, plus copilot is generally more intelligent and context aware, especially for small snippets when you're already coding