this post was submitted on 03 Oct 2024
374 points (94.7% liked)

Technology

59559 readers
3476 users here now

This is a most excellent place for technology news and articles.


Our Rules


  1. Follow the lemmy.world rules.
  2. Only tech related content.
  3. Be excellent to each another!
  4. Mod approved content bots can post up to 10 articles per day.
  5. Threads asking for personal tech support may be deleted.
  6. Politics threads may be removed.
  7. No memes allowed as posts, OK to post as comments.
  8. Only approved bots from the list below, to ask if your bot can be added please contact us.
  9. 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
[–] [email protected] 9 points 1 month ago (1 children)

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.

[–] [email protected] 5 points 1 month ago (1 children)

Like I told another person ITT, hiring terrible devs isn't something you can blame on software.

[–] [email protected] 4 points 1 month ago (1 children)

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.

[–] [email protected] -1 points 1 month ago (1 children)

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.

[–] [email protected] 2 points 1 month ago (2 children)

my argument is that lazy devs use the tool because that's what it was designed for.

just calling a hammer a hammer.

[–] [email protected] 1 points 1 month ago (1 children)

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".

[–] [email protected] -3 points 1 month ago (2 children)

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.

[–] [email protected] 1 points 1 month ago* (last edited 1 month ago) (1 children)

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.

[–] [email protected] -2 points 1 month ago (1 children)

Copilot produces useful and correct code for me 5 days a week. I'm sorry you don't see the same benefits.

[–] [email protected] 0 points 1 month ago (2 children)

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.

[–] [email protected] 1 points 1 month ago (1 children)

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.

[–] [email protected] 1 points 1 month ago (2 children)

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.

shitty devs are enabled by shitty tools.

[–] [email protected] 2 points 1 month ago* (last edited 1 month ago)

I get Dreamweaver vibes from AI generated code.

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.

[–] [email protected] 0 points 1 month ago (1 children)

shitty devs are enabled by shitty tools.

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.

[–] [email protected] 0 points 1 month ago

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?

Screenshot_20241004-120218_Firefox

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.