this post was submitted on 21 Sep 2024
2 points (100.0% liked)

Technology

59651 readers
2690 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
 

Please remove it if unallowed

I see alot of people in here who get mad at AI generated code and I am wondering why. I wrote a couple of bash scripts with the help of chatGPT and if anything, I think its great.

Now, I obviously didnt tell it to write the entire code by itself. That would be a horrible idea, instead, I would ask it questions along the way and test its output before putting it in my scripts.

I am fairly competent in writing programs. I know how and when to use arrays, loops, functions, conditionals, etc. I just dont know anything about bash's syntax. Now, I could have used any other languages I knew but chose bash because it made the most sense, that bash is shipped with most linux distros out of the box and one does not have to install another interpreter/compiler for another language. I dont like Bash because of its, dare I say weird syntax but it made the most sense for my purpose so I chose it. Also I have not written anything of this complexity before in Bash, just a bunch of commands in multiple seperate lines so that I dont have to type those one after another. But this one required many rather advanced features. I was not motivated to learn Bash, I just wanted to put my idea into action.

I did start with internet search. But guides I found were lacking. I could not find how to pass values into the function and return from a function easily, or removing trailing slash from directory path or how to loop over array or how to catch errors that occured in previous command or how to seperate letter and number from a string, etc.

That is where chatGPT helped greatly. I would ask chatGPT to write these pieces of code whenever I encountered them, then test its code with various input to see if it works as expected. If not, I would ask it again with what case failed and it would revise the code before I put it in my scripts.

Thanks to chatGPT, someone who has 0 knowledge about bash can write bash easily and quickly that is fairly advanced. I dont think it would take this quick to write what I wrote if I had to do it the old fashioned way, I would eventually write it but it would take far too long. Thanks to chatGPT I can just write all this quickly and forget about it. If I want to learn Bash and am motivated, I would certainly take time to learn it in a nice way.

What do you think? What negative experience do you have with AI chatbots that made you hate them?

(page 2) 50 comments
sorted by: hot top controversial new old
[–] essteeyou@lemmy.world 0 points 2 months ago

I use it as a time-saving device. The hardest part is spotting when it's not actually saving you time, but costing you time in back-and-forth over some little bug. I'm often better off fixing it myself when it gets stuck.

I find it's just like having another developer to bounce ideas off. I don't want it to produce 10k lines of code at a time, I want it to be digestible so I can tell if it's correct.

[–] MacStache@programming.dev 0 points 2 months ago (2 children)

For me it's because if the AI does all the work the person "coding" won't learn anything. Thus when a problem does arise (i.e. the AI not being able to fix a simple mistake it made) no one involved has the means of fixing it.

[–] oldfart@lemm.ee 0 points 2 months ago

But I don't want to learn. I want the machine to free me from tedious tasks I already know how to do. There's no learning experience in creating a Wordpress plugin or a shell script.

[–] cy_narrator@discuss.tchncs.de 0 points 2 months ago

I have seen my friend in this situation

[–] WolfLink@sh.itjust.works 0 points 2 months ago (3 children)
  • AI Code suggestions will guide you to making less secure code, not to mention often being lower quality in other ways.
  • AI code is designed to look like it fits, not be correct. Sometimes it is correct. Sometimes it’s close but has small errors. Sometimes it looks right but is significantly wrong. Personally I’ve never gotten ChatGPT to write code without significant errors for more than trivially small test cases.
  • You aren’t learning as much when you have ChatGPT do it for you, and what you do learn is “this is what chat gpt did and it worked last time” and not “this is what the problem is and last time this is the solution I came up with and this is why that worked”. In the second case you are far better equipped to tackle future problems, which won’t be exactly the same.

All that being said, I do think there is a place for chat GPT in simple queries like asking about syntax for a language you don’t know. But take every answer it gives you with a grain of salt. And if you can find documentation I’d trust that a lot more.

[–] cy_narrator@discuss.tchncs.de 0 points 2 months ago

Yes, I completely forget how to solve that problem 5 minutes after chatGPT writes its solution. So I whole heartedely believe AI is bad for learning

[–] skoell13@feddit.org 0 points 2 months ago

All that being said, I do think there is a place for chat GPT in simple queries like asking about syntax for a language you don’t know.

I am also weary regarding AI and coding but this is actually the first time I used ChatGpt to programm something for a small home project in python, since I never used it. I was positively surprised in how much it could help me getting started. I also learned quite a bit since I always asked for comparison with Java, which I know, and for reasonings why it is that way. I simply also wanted to understand what it puts out. I also only asked for single lines of code rather than generating a whole method, e.g. I want to move a file from X to Y.

The thought of people blindly copying the produced code scares me.

[–] erenkoylu@lemmy.ml 0 points 2 months ago

AI Code suggestions will guide you to making less secure code, not to mention often being lower quality in other ways.

This is a PR post from a company selling software.

[–] Melvin_Ferd@lemmy.world 0 points 2 months ago (3 children)

A lot of people spent many many nights wasting away at learning some niche arcane knowledge and now are freaking out that a kid out of college can do what they can with a cool new machine. Maybe not fully what they do but 70% there and that makes them so hateful. They'll pull out all these articles and studies but they're just afraid to face the reality that their time and life was wasted and how unfair life can be

[–] Haquer@lemmy.today 0 points 2 months ago

Who hurt you?

[–] cy_narrator@discuss.tchncs.de 0 points 2 months ago

I have been there, wasted learning stupid things I will never need to know.

load more comments (1 replies)
[–] leftzero@lemmynsfw.com 0 points 2 months ago (3 children)

The other day we were going over some SQL query with a younger colleague and I went “wait, what was the function for the length of a string in SQL Server?”, so he typed the whole question into chatgpt, which replied (extremely slowly) with some unrelated garbage.

I asked him to let me take the keyboard, typed “sql server string length” into google, saw LEN in the except from the first result, and went on to do what I'd wanted to do, while in another tab chatgpt was still spewing nonsense.

LLMs are slower, several orders of magnitude less accurate, and harder to use than existing alternatives, but they're extremely good at convincing their users that they know what they're doing and what they're talking about.

That causes the people using them to blindly copy their useless buggy code (that even if it worked and wasn't incomplete and full of bugs would be intended to solve a completely different problem, since users are incapable of properly asking what they want and LLMs would produce the wrong code most of the time even if asked properly), wasting everyone's time and learning nothing.

Not that blindly copying from stack overflow is any better, of course, but stack overflow or reddit answers come with comments and alternative answers that if you read them will go a long way to telling you whether the code you're copying will work for your particular situation or not.

LLMs give you none of that context, and are fundamentally incapable of doing the reasoning (and learning) that you'd do given different commented answers.

They'll just very convincingly tell you that their code is right, correct, and adequate to your requirements, and leave it to you (or whoever has to deal with your pull requests) to find out without any hints why it's not.

[–] cy_narrator@discuss.tchncs.de 0 points 2 months ago

I can feel that frustrated look when someone uses chatGPT for such a tiny reason

[–] MrScottyTay@sh.itjust.works 0 points 2 months ago* (last edited 2 months ago) (1 children)

I've been finding it a lot harder recently to find what I'm looking for when it comes to coding knowledge on search engines. I feel with an llm i can give it the wider context and it figures it exactly the sort of things I'm trying to find. Even more useful with trying to understand a complex error message you haven't seen before.

That being said. LLMs are not where my searching ends. I check to see where it got the information from so I can read the actual truth and not what it has conjured up.

[–] leftzero@lemmynsfw.com 0 points 2 months ago* (last edited 2 months ago) (1 children)

I've been finding it a lot harder recently to find what I'm looking for when it comes to coding knowledge on search engines

Yeah, the enshittification has been getting worse and worse, probably because the same companies making the search engines are the ones trying to sell you the LLMs, and the only way to sell them is to make the alternatives worse.

That said, I still manage to find anything I need much faster and with less effort than dealing with an LLM would take, and where an LLM would simply get me a single answer (which I then would have to test and fix), while a search engine will give me multiple commented answers which I can compare and learn from.

I remembered another example: I was checking a pull request and it wouldn't compile; the programmer had apparently used an obscure internal function to check if a string was empty instead of string.IsNullOrWhitespace() (in C# internal means “I designed my classes wrong and I don't have time to redesign them from scratch; this member should be private or protected, but I need to access it from outside the class hierarchy, so I'll allow other classes in the same assembly to access it, but not ones outside of the assembly”; similar use case as friend in c++; it's used a lot in standard .NET libraries).

Now, that particular internal function isn't documented practically anywhere, and being internal can't be used outside its particular library, so it wouldn't pop up in any example the coder might have seen... but .NET is open source, and the library's source code is on GitHub, so chatgpt/copilot has been trained on it, so that's where the coder must have gotten it from.

The thing, though, is that LLM's being essentially statistic engines that'll just pop up the most statistically likely token after a given sequence of tokens, they have no way whatsoever to “know” that a function is internal. Or private, or protected, for that matter.

That function is used in the code they've been trained on to figure if a string is empty, so they're just as likely to output it as string.IsNullOrWhitespace() or string.IsNullOrEmpty().

Hell, if(condition) and if(!condition) are probably also equally likely in most places... and I for one don't want to have to debug code generated by something that can't tell those apart.

[–] MrScottyTay@sh.itjust.works 0 points 2 months ago (1 children)

If you know what you need to find, then yeah search engines are still good. But as a tool for discovery they're massively shit now. You often need to be super specific to get what you want and almost at that point you already know it, you just need a reminder.

[–] leftzero@lemmynsfw.com 0 points 2 months ago (1 children)

Are search engines worse than they used to be?

Definitely.

Am I still successfully using them several times a day to learn how to do what I want to do (and to help colleagues who use LLMs instead of search engines learn how to do what they want to do once they get frustrated enough to start swearing loudly enough for me to hear them)?

Also yes. And it's not taking significantly longer than it did when they were less enshittified.

Are LLMs a viable alternative to search engines, even as enshittified as they are today?

Fuck, no. They're slower, they're harder and more cumbersome to use, their results are useless on a good day and harmful on most, and they give you no context or sources to learn from, so best case scenario you get a suboptimal partial buggy solution to your problem which you can't learn anything useful from (even worse, if you learn it as the correct solution you'll never learn why it's suboptimal or, more probably, downright harmful).

If search engines ever get enshittified to the point of being truly useless, the alternative aren't LLMs. The alternative is to grab a fucking book (after making sure it wasn't defecated by an LLM), like we did before search engines were a thing.

[–] MrScottyTay@sh.itjust.works 0 points 2 months ago

Cool I'll just try and find which book i need to read it from the millions and millions of books.

I haven't got an issue with reading books and whatnot. For coding specifically I always prefer to read documentation. But if I don't know what is needed for my current use case and search isn't helping. I'm not going to know where to begin. LLMs at least give me a jumping off point. They are not my be all and end all.

Discoverability of new tools and libraries via search is awful. Through LLMs, it's passable to point you in the right direction.

[–] JasonDJ@lemmy.zip 0 points 2 months ago (1 children)

This is my big concern...not that people will use LLMs as a useful tool. That's inevitable. I fear that people will forget how to ask questions and learn for themselves.

load more comments (1 replies)
[–] NeoNachtwaechter@lemmy.world 0 points 2 months ago

Now, I obviously didnt tell it to write the entire code by itself. [...]

I am fairly competent in writing programs.

Go ahead using it. You are safe.

[–] corroded@lemmy.world 0 points 2 months ago (1 children)

When it comes to writing code, there is a huge difference between code that works and code that works *well." Lets say you're tasked with writing a function that takes an array of RGB values and converts them to grayscale. ChatGPT is probably going to give you two nested loops that iterate over the X and Y values, applying a grayscale transformation to each pixel. This will get the job done, but it's slow, inefficient, and generally not well-suited for production code. An experienced programmer is going to take into account possible edge cases (what if a color is out of the 0-255 bounds), apply SIMD functions and parallel algorithms, factor in memory management (do we need a new array or can we write back to the input array), etc.

ChatGPT is great for experienced programmers to get new ideas; I use it as a modern version of "rubber ducky" debugging. The problem is that corporations think that LLMs can replace experienced programmers, and that's just not true. Sure, ChatGPT can produce code that "works," but it will fail at edge cases and will generally be inefficient and slow.

load more comments (1 replies)
[–] Smokeydope@lemmy.world 0 points 2 months ago* (last edited 2 months ago) (2 children)

Its not just AI code but AI stuff in general.

It boils down to lemmy having a disproportionate amount of leftist liberal arts college student types. Thats just the reality of this platform.

Those types tend to see AI as a threat to their creative independent business. As well as feeling slighted that their data may have been used to train a model.

Its understandable why lots of people denounce AI out of fear, spite, or ignorance. Its hard to remain fair and open to new technology when its threatening your livelihood and its early foundations may have scraped your data non-consentually for training.

So you'll see AI hate circle jerk post every couple days from angry people who want to poison models and cheer for the idea that its just trendy nonesense. Dont debate them. Dont argue. Just let them vent and move on with your day.

[–] Donut@leminal.space 0 points 2 months ago (1 children)

Lmao what weird projection is this. As a leftist liberal quality manager, I can tell you're full of shit

[–] john89@lemmy.ca 0 points 2 months ago

Not really.

[–] rolling_resistance@lemmy.world 0 points 2 months ago

I see you like when something threatens your livelihood.

[–] cley_faye@lemmy.world 0 points 2 months ago* (last edited 2 months ago) (1 children)
  • issues with model training sources
  • business sending their whole codebase to third party (copilot etc.) instead of local models
  • time gain is not that substantial in most case, as the actual "writing code" part is not the part that takes most time, thinking and checking it is
  • "chatting" in natural language to describe something that have a precise spec is less efficient than just writing code for most tasks as long as you're half-competent. We've known that since customer/developer meetings have existed.
  • the dev have to actually be competent enough to review the changes/output. In a way, "peer reviewing" becomes mandatory; it's long, can be fastidious, and generated code really needs to be double checked at every corner (talking from experience here; even a generated one-liner can have issues)
  • some business thinking that LLM outputs are "good enough", firing/moving away people that can actually do said review, leading to more issues down the line
  • actual debugging of non-trivial problems ends up sending me in a lot of directions, getting a useful output is unreliable at best
  • making new things will sometimes confuse LLM, making them a time loss at best, and producing even worst code sometimes
  • using code chatbot to help with common, menial tasks is irrelevant, as these tasks have already been done and sort of "optimized out" in library and reusable code. At best you could pull some of this in your own codebase, making it worst to maintain in the long term

Those are the downside I can think of on the top of my head, for having used AI coding assistance (mostly local solutions for privacy reasons). There are upsides too:

  • sometimes, it does produce useful output in which I only have to edit a few parts to make it works
  • local autocomplete is sometimes almost as useful as the regular contextual autocomplete
  • the chatbot turning short code into longer "natural language" explanations can sometimes act as a rubber duck in aiding for debugging

Note the "sometimes". I don't have actual numbers because tracking that would be like, hell, but the times it does something actually impressive are rare enough that I still bother my coworker with it when it happens. For most of the downside, it's not even a matter of the tool becoming better, it's the usefulness to begin with that's uncertain. It does, however, come at a large cost (money, privacy in some cases, time, and apparently ecological too) that is not at all outweighed by the rare "gains".

[–] confuser@lemmy.zip 0 points 2 months ago

a lot of your issues are effeciency related which i think can realistically be solved given some time for development cycles to take hold on ai. if they were better all around to whatever standard you think is sufficiently useful, would you then think it would be useful? the other side related thing too is that if it can get that level of competence in coding then it most likely can get just as competant in a variety of other domains too.

[–] wewbull@feddit.uk 0 points 2 months ago (1 children)
[–] erenkoylu@lemmy.ml 0 points 2 months ago (1 children)

5 bucks says the same outages would have happened with human written code.

load more comments (1 replies)
[–] OmegaLemmy@discuss.online 0 points 2 months ago

I use ai, but whenever I do I have to modify it, whether it's because it gives me errors, is slow, doesn't fit my current implementation or is going off the wrong foot.

[–] john89@lemmy.ca 0 points 2 months ago

Personally, I've found AI is wrong about 80% of the time for questions I ask it.

It's essentially just a search engine with cleverbot. If the problem you're dealing with is esoteric and therefore not easily searchable, AI won't fare any better.

I think AI would be a lot more useful if it gave a percentage indicating how confident it is in its answers, too. It's very useless to have it constantly give wrong information as though it is correct.

[–] bitwolf@lemmy.one 0 points 2 months ago (1 children)

We built a Durable task workflow engine to manage infrastructure and we asked a new hire to add a small feature to it.

I checked on them later and they expressed they were stuck on an aspect of the change.

I could tell the code was ChatGPT. I asked "you wrote this with ChatGPT didn't you?" And they asked how I could tell.

I explained that ChatGPT doesn't have the full context and will send you on tangents like it has here.

I gave them the docs to the engine and to the integration point and said "try using only these and ask me questions if you're stuck for more than 40min.

They went on to become a very strong contributor and no longer uses ChatGPT or copilot.

I've tried it myself and it gives me the wrong answers 90% of the time. It could be useful though. If they changed ChatGPT to find and link you docs it finds relevant I would love it but it never does even when asked.

[–] socialmedia@lemmy.world 0 points 2 months ago

Phind is better about linking sources. I've found that generated code sometimes points me in the right direction, but other times it leads me down a rabbit hole of obsolete syntax or other problems.

Ironically, if you already are familiar with the code then you can easily tell where the LLM went wrong and adapt their generated code.

But I don't use it much because its almost more trouble than its worth.

load more comments
view more: ‹ prev next ›