6 ms·
The way I see AI programming assistants is that it would help juniors be a bit more productive, but senior developers can do with out the assistant. I've used
by lewdev 2y ago
The way I see AI programming assistants is that it would help juniors be a bit more productive, but senior developers can do with out the assistant.
I've used Cody and Copilot and it just gets in the way because I know exactly what I need to write and neither really helped me.
- DoingIsLearning 2y agoFor seniors I think it depends on how much breadth you need. I find them very useful to explore/poke around new areas where I don't have domain knowledge. I agree that areas/problems that I worked in the past it just slows you down but as you move into more unknown territories they are kind of nice to have as a sparing partner.
- piva00 2y agoSimilar to my usage as well, it's a good start for unfamiliar territory to quickly get up to speed but you can hit its limits quite fast. I've been toying around with embedded development for some art projects, it was invaluable to have a kickstart using LLMs to get a glimpse of the knowledge I need to explore, get some useful quick results but when I got into more complex tasks it just breaks down: non-compiling code, missing steps, hallucinations (even to variables that weren't declared previously), reformatting non-functioning code instead of rewriting it. As complexity grows the tool simply cannot handle it, as you said it's a good sparing partner for new territory but after that you will rely on your own skills to move into intermediate/advanced stuff.
- theshrike79 2y agoThese are the cases where even senior developers should use AIs. When I'm creating a CRUD API I know exactly what I want, I know exactly how it should look like. Do I want to spend 15-30 minutes typing furiously adding the endpoints? No. I can just tell Copilot to do it and check its work. I'll be done in 5 minutes doing something more engaging like adding the actual business logic.
- TaylorAlexander 2y agoLately I have been using it to write print and logger statements. I type what I want as a sentence in a comment and then it handles all the special syntax characters. Given the error rate I’m not certain it saves time, but it is fun to play with.
- theshrike79 2y agoI've got "just" Amazon Q at home (not paying Copilot prices for my personal projects) and just typing "log.Printf(" and waiting a second it usually gets what I'm trying to log either very close or exactly right. It's not like we're breaking new ground in the field of computer science here. The LLMs have been taught with terabytes of code and me writing a Go API glue program is perfectly in their wheelhouse.
- widgeyboy 2y agoI agree with this mostly - but recently a bug was introduced into our app because of a copilot suggestion that wasn't checked thoroughly enough by the engineer (it suggested a property that was similarly named to another property but not the same). Like you say, it makes the most sense repetitive or easy tasks.
- theshrike79 2y agoThis is why I have Copilot write unit tests too :D Actually it does the boring bit of generating the test data and the basic cases, I'll do a once over and add more if it's a something that warrants it.
- everforward 2y agoMy usage of Copilot is dramatically higher in strictly typed languages because of things like this. It's almost counter-productive if I have to very carefully analyze every variable name to make sure it's not subtly wrong. Having a compiler do that validation of AI output helps dramatically so I only have to validate logic and not every freaking character in the function.
- 2y ago
- eterevsky 2y agoI find the ML completion used in Google codebase very useful. It knows the APIs that I'm going to use better than I do, and it also can infer how exactly I'm going to use them. So in my experience, it does make me more productive.
- kshitij_libra 2y agoPrecisely. I think it helps with smaller/mundane tasks (that it has seen in its training), but the tasks that actually require a higher level reasoning and understanding of the bigger picture - are not something we can expect the current LLM's to do. However as I was researching, there are a few interesting ideas in this space that might help these LLM's solve more complex problems in the future. Post here if interested: https://kshitij-banerjee.github.io/2024/04/30/can-llms-produce-better-code/ https://kshitij-banerjee.github.io/2024/04/30/can-llms-produ...