- cross-posted to:
- [email protected]
- cross-posted to:
- [email protected]
No shit. Senior devs have been saying this the whole time. AI, in its current form, for developers, is like handing a spatula to a gourmet chef. Yes it is useful to an extremely small degree, but that’s it…for now.
I partly disagree, complex algorithms are indeed a no, but for learning a new language it is awesome.
Currently learning Rust and although it cannot solve everything, it does guide you with suggestions and usable code fragments.
Highly recommended.
Currently learning Rust and although it cannot solve everything, it does guide you with suggestions and usable code fragments.
as does the compiler and the rust book
Good devs gain little.
I gain a lot.
Just beware, sometimes the AI suggestions are scary good, some times they’re batshit crazy.
Just because AI suggests it, doesn’t mean it’s something you should use or learn from.
Feel the same way!
I’m a penetration tester and it increases my productivity a lot
Penetration tester, huh? Sounds like a fun and reproductive job.
But it can be very HARD sometimes
The writer has a clear bias and a lack of a technical background (writing for Techies.com doesn’t count) .
You don’t have to look hard to find devs saving time and learning something with AI coding assistants. There are plenty of them in this thread. This is just an opinion piece by someone who read a single study.
if you are already competent and you are aware that it doesn’t necessarily give you correct information, the it is really helpful. I know enough to sense when it is making shit up. Also it is, for some scenarios, faster and easier then looking at a documentation. I like it personally. But it will not replace competent developers anytime soon.
It’s great as essentially a StackOverflow that I can talk to in real time. But as with SO, I’ve still got to figure out what pieces are legit and where they go.
AI search results made stack overflow answers harder to find now lol
While I am not fond of AI, we do have access to it at work and I must admit that it saves some time in some cases. I’m not a developer with decades of experience in a single language, so something I am using AI to is asking “Is it possible to do a one-liner in language X where it does Y?” It works very well and the code is rarely unusable, but it is still up to my judgement whether the AI came up with a clever use of functions that I didn’t know about or whether it crammed stuff into a single unreadable line.
Every now and then, GitHub Copilot saves me a few seconds suggesting some very basic solution that I am usually in the midst of creating. Is it worth the investment? No, at least not yet. It hasn’t once “beaten” me or offered an improved solution. It (more frequently than not) requires the developer to understand and modify what it proposes for its suggestions to be useful. Is is a useful tool? Sure, just not worth the price yet, and obviously not perfect. But, where I’m working is testing it out, so I’ll keep utilizing it.
It introduced me to the basics of C# in a way that traditional googling at my previous level of knowledge would’ve made difficult.
I knew what I wanted to do and I didn’t know what was possible or how to ask without my question being closed as a duplicate with a link to an unhelpful post.
In that regard, it’s very helpful. If I had already known the language well enough, I can see it being less helpful.
I learned bash thanks to AI!
For years, all I did was copy and paste bash commands. And I didn’t understand arguments, how to chain things, or how it connects.
You do realize that a very thorough manual is but a
man bash
away? Perhaps it’s not the most accessible source available, but it makes up for that in completeness.
What about just reading the documentation?
Even with amazing documentation, it can be hard to find the thing you’re looking for if you don’t know the right phrasing or terminology yet. It’s easily the most usable thing I’ve seen come out of “AI”, which makes sense. Using a Language Model to parse language is a very literal application.
Garbage in garbage out is how they all work if you give it a well defined prompt you can get exactly what you want out of it most of the time but if you just say fix this problem it’ll just fix the problem ignoring everything else
You’re holding it wrong
Wait till this guy learns how a theremin work.
I truly don’t understand the tendency of people to hate these kinds of tools. Honestly seems like an ego thing to me.
I sent a PR back to a Dev five times before I gave the work to someone else.
they used AI to generate everything.
surprise, there were so many problems it broke the whole stack.
this is a routine thing this one dev does too. every PR has to be tossed back at least once. not expecting perfection, but I do expect it to not break the whole app.
Like I told another person ITT, hiring terrible devs isn’t something you can blame on software.
that depends on your definition of what a “terrible dev” is.
of the three devs that I know have used AI, all we’re moderately acceptable devs before they relied on AI. this formed my opinion that AI code and the devs that use it are terrible.
two of those three I no longer work with because they were let go for quality and productivity issues.
so you can clearly see why my opinion of AI code is so low.
I would argue that it’s obvious if someone doesn’t know how to use a tool to do their job, they aren’t great at their job to begin with.
Your argument is to blame the tool and excuse the person who is awful with the tool.
my argument is that lazy devs use the tool because that’s what it was designed for.
just calling a hammer a hammer.
Some tools deserve blame. In the case of this, you’re supposed to use it to automate away certain things but that automation isn’t really reliable. If it has to be babysat to the extent that I certainly would argue that it does, then it deserves some blame for being a crappy tool.
If, for instance, getter and setter generating or refactor tools in IDEs routinely screwed up in the same ways, people would say that the tools were broken and that people shouldn’t use them. I don’t get how this is different just because of “AI”.
Okay, so if the tool seems counterproductive for you, it’s very assuming to generalize that and assume it’s the same for everyone else too. I definitely do not have that experience.
For me, it is a glorified auto-complete function. Could definitely live without it.
Same for me, but that glorified auto complete helps a lot.
Hell yea. Our unit test coverage went way up because you can blow through test creation in second. I had a large complicated migration from one data set to another with specific mutations based on weird rules and GPT got me 80% of the way there and with a little nudging basically got it perfect. Code that would’ve taken a few hours took about 6 prompts. If I’m curious about a new library I can get a working example right away to see how everything fits together. When these articles say there’s no benefit I feel people aren’t using these tools or don’t know how to use them effectively.
Yeah, it’s useful, you just gotta keep it on a short leash, which is difficult when you don’t know what you’re doing
Basically, it’s a useful tool for experienced developers that know what to look out for
From the combined comments it looks like if you are a beginner or a pro then it’s great; if you only have just enough knowledge to be dangerous (in german that’s proverbial “gefährliches Halbwissen”) you should probably stay away from it :-)
We always have to ask what language is it auto-completing for? If it is a strictly typed language, then existing tooling is already doing everything possible and I see no need for additional improvement. If it is non-strictly typed language, then I can see how it can get a little more helpful, but without knowledge of actual context I am not sure if it can get a lot more accurate.
Everyone keeps talking about autocomplete but I’ve used it successfully for comments and documentation.
You can use vs code extensions to generate and update readme and changelog files.
Then if you follow documentation as code you can update your Confluence/whatever by copy pasting.
I also use it a lot for unit tests. It helps a lot when you have to write multiple edge cases, and even find new one at times. Like putting a random int in an enum field (enumField = (myEnum)1000), I didn’t knew you could do that…
Yeah. I’ve found new logic by asking GPT for improvements on my code or suggestions.
I cut the size of a function in half once using a suggested recursive loop and it blew my mind.
Feels like having a peer to do a code review on hand at all times.
Who are those guys they keep asking this question over and over ? And how are they not able to use such a simple tool to increase their productivity ?