Code analysis firm sees no major benefits from AI dev tool when measuring key programming metrics, though others report incremental gains from coding copilots with emphasis on code review.
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.
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.
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.
It's not about it being counterproductive. It's about correctness. If a tool produces a million lines of pure compilable gibberish unrelated to what you're trying to do, from a pure lines of code perspective, that'd be a productive tool. But software development is more complicated than writing the most lines.
Now, I'm not saying that AI tools produce pure compilable gibberish, but they don't reliably produce correct code either. So, they fall somewhere in the middle, and similarly to "driver assistance" technologies that half automate things but require constant supervision, it's quite possible that the middle is the worst area for a tool to fall into.
Everywhere around AI tools there are asterisks about it not always producing correct results. The developer using the tool is ultimately responsible for the output of their own commits, but the tool itself shares in the blame because of its unreliable nature.
Using a tool to speed up your work is not lazy. Using a tool stupidly is stupid. Anyone who thinks these tools are meant to replace humans using logic is misunderstanding them entirely.
You remind me of some of my coworkers who would rather do the same mind numbing task for hours every day rather than write a script that handles it. I judge them for thinking working smarter is "lazy" and I think it's a fair judgement. I see them as the lazy ones. They'd rather not think more deeply about the scripting aspect because it's hard. They rather zone out and mindlessly click, copy/paste, etc. I'd rather analyze and break down the problem so I can solve it once and then move onto something more interesting to solve.
sometimes working smarter is actually putting the work in so you don't have to waste time and stress about if it's going to work or not.
I get Dreamweaver vibes from AI generated code. Sure, the website works. looks exactly the way it should. works exactly how it should. that HTML source though... fucking aweful.
I can agree, AI is an augment to the tools you can use. however, it's being marketed as a replacement and a large variety of devs are using it as such.
Same. AI seems like yet another attempt at RAD just like MS Access, Visual Basic, Dreamweaver, and even to some extent Salesforce, or ServiceNow. There are so many technologies that champion this....RoR, Django, Spring Boot...the list is basically forever.
To an extent, it's more general purpose than those because it can be used with multiple languages or toolkits, but I find it not at all surprising that the first usage of gen AI in my company was to push out "POCs" (the vast majority of which never amounted to anything).
The same gravity applies to this tool as everything else in software...which is that prototyping is easy...integration is hard (unless the organization is well structured, which, well, almost none of them are), and software executives tend to confuse a POC with production code and want to push it out immediately, only to find out that it's a Potemkin village underneath as they sometimes (or even often) were told the entire time.
So much of the software industry is "JUST GET THIS DONE FASTER DAMMIT!" from middle managers who still seem (despite decades of screaming this) to have developed no widespread means of determining either what they want to get done, or what it would take to get it done faster.
What we have been dealing with the entire time is people that hate to be dependent upon coders or other "nerds", but need them in order to create products to accomplish their business objectives.
Middle managers still think creating software is algorithmic nerd shit that could be automated...solving the same problems over and over again. It's largely been my experience that despite even Computer Science programs giving it that image, that the reality is modern coding is more akin to being a millwright. Most of the repetitive, algorithmic nerd shit was settled long ago and can be imported via modules. Imported modules are analogous to parts, and your job is to build or maintain the actual machine that produces the outcomes that are desired, making connecting parts to get the various components to interoperate as needed, repairing failing components, or spotting the shoddy welding between them that is making the current machine fail.
No, shitty devs are enabled by piss-poor hiring practices. I'm currently working with two devs that submit mind bogglingly bad PRs all of the time, and it's 100% because we hired them in a hasty manner and overlooking issues they displayed during interviews.
Neither of these bad devs use AI to my knowledge. On the other hand I use copilot constantly and the only difference I see in my work is that it takes me less time to complete a given task. It shaves 1-2 minutes off of writing a block/function several times an hour, and that is a good thing.
so your argument is because shitty devs exist that AI can't be a shitty tool.
Shitty tools exist. shitty devs exist. allowing AI code generation only serves as an excuse for shitty devs when they're allowed to use it. "oh sorry, the AI did that." "man that didn't work? musta been that new algorithm github updated yesterday."
shitty workers use shitty tools because they don't care about the quality and consistency of the product they build.
ever seen a legitimate carpenter use one of these things to build a house?
yeah, you won't because anything built with that will never pass inspection. shitty tools are used by shitty devs.
could AI code generation get better? absolutely! is it possible to use it today? sure. should you use it? absolutely not.
as software developers we have the power to build and do whatever we want. we have amazing powers that allow us to do that, but rarely do we ever stop to ask if we should do it.
They rather zone out and mindlessly click, copy/paste, etc. I’d rather analyze and break down the problem so I can solve it once and then move onto something more interesting to solve.
From what I've seen of AI code in my time using it, it often is an advanced form of copying and pasting. It frequently takes problems that could be better solved more efficiently with fewer lines of code or by generalizing the problem and does the (IMO evil) work of making the solution that used to require the most drudgery easy.
Typical lack of nuance on the Internet, sadly. Everything has to be Bad or Good. Black or White. AI is either The best thing ever™ or The worst thing ever™. No room for anything in between. Considering negative news generates more clicks, you can see why the media tend to take the latter approach.
I also think much of the hate is just people jumping on the AI = bad band-wagon. Does it have issues? Absolutely. Is it perfect? Far from it. But the constant negativity has gotten tired. There's a lot of fascinating discussion to be had around AI, especially in the art world, but God forbid you suggest it's anything but responsible for the total collapse of civilisation as we know it...
Also, when a tool increases your productivity but your salary and paid time off don't increase, it's a tool that only benefits the overlords and as such deserves to be hated.
I want to believe people arent this dumb but i also dont want to be crazy for suggesting such nonsensical sentiment is manufactured. Such is life in the disinformation age.
Like what are we going to do, tell all Countries and fraudsters to stop using ai because it turns out its too much of a hassle?