• Nate Cox@programming.dev
    link
    fedilink
    English
    arrow-up
    114
    arrow-down
    5
    ·
    2 days ago

    It’s hard to find programmers these days who aren’t using AI coding assistants in some capacity, especially to write the repetitive, mundane bits.

    God damn it, stop it with this. No it isn’t. Most of the devs that I personally know won’t touch LLMs with a ten foot pole.

    • hypna@lemmy.world
      link
      fedilink
      English
      arrow-up
      35
      arrow-down
      1
      ·
      2 days ago

      I’d be interested in some proper studies, but most of the devs I know, myself included, use it for reference at least. Haven’t met a vibe coder yet though.

        • hypna@lemmy.world
          link
          fedilink
          English
          arrow-up
          6
          arrow-down
          8
          ·
          2 days ago

          Yeah it’s not a miracle, but it’s probably useful. I find the most common scenario for when the LLM wasted my time was when I was asking it how to do something which can’t be done. Like I would ask it how to use library X to do operation Y, where in truth library X doesn’t support operation Y. Rather than responding that I should find a different library, it would just make up some functions or parameters. When it works well, it’s faster than hunting down the docs or finding examples/tutorials.

      • skulblaka@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        24
        ·
        2 days ago

        In my left hand, I have a manfile, written by the very same people who wrote the tool or language that I’m trying to use. It is concise, contains true information, and won’t change if I look up the same thing again later.

        In my right hand, I have a pathological liar, who also kinda sorta read the manfile and then smooshed it together with 20 other manuals.

        I wonder which of these options is a more reliable reference tool for me? Hmm. It’s difficult to tell.

        • 8uurg@lemmy.world
          link
          fedilink
          English
          arrow-up
          1
          ·
          9 hours ago

          It is concise, contains true information,

          In my experience that is not necessarily guaranteed, documentation is sometimes not updated and the information may be outdated or may even be missing entirely.

          Documentation is much more reliable, yes, but not necessarily always true or complete, sadly enough.

        • sturger@sh.itjust.works
          link
          fedilink
          English
          arrow-up
          2
          ·
          20 hours ago

          I’ve started using an AI driver for my car. And by “AI” I mean I use a bungee cord on the steering wheel to keep it straight. Straight is the correct answer 40% of the time, so it works out.
          Oh, and by “my car”, I mean the people that work for me. I insist that they use my bungee-cord idea to steer their cars if they want to work for me. There may be a few losses, but that’s ok. I can always fire the ones that die and hire more.
          I’m a genius.

      • okwhateverdude@lemmy.world
        link
        fedilink
        English
        arrow-up
        19
        arrow-down
        1
        ·
        2 days ago

        I mostly vibecode throw away shit. I am not shipping this python script that is resizing and then embedding images into this .xls. Or the simple static html/css generator because hosting a full blown app is overkill when I just wanna show something to some non-tech colleagues. Stuff that would take half, to an hour to throw together now takes like 5-10min. I wouldn’t trust it to do anything more complicated because it fucks up all the time, leans too heavily on its training data instead of referencing docs and it is way too confident about shit when it is wrong. Pro-tip, berate the slop machines. They perform better and stop being so god damn sycophantic when you do. I am a divine being of consciousness and considerable skill, and it is a slop machine: useful, but beneath me.

        • mos@lemmy.world
          link
          fedilink
          English
          arrow-up
          8
          ·
          2 days ago

          That last line is hillarious. I’ll remember that. but also the robots will remember this post when they take over.

      • thedeadwalking4242@lemmy.world
        link
        fedilink
        English
        arrow-up
        8
        ·
        2 days ago

        Yes. People seem to be writing bad poorly abstracted code these days. Leading them to assume there’s a lot of manual mundane tasks

    • coreray00@discuss.online
      link
      fedilink
      English
      arrow-up
      2
      ·
      1 day ago

      I mean having an LLM is helpful for writing left/right code, but I would quit if that was a decent portion of my job.

    • Quibblekrust@thelemmy.club
      link
      fedilink
      English
      arrow-up
      12
      arrow-down
      8
      ·
      edit-2
      2 days ago

      And most devs I know use it everyday, so… 🤷

      Especially for repetitive mundane code, like they said. It’s much faster to check code for correctness than it is to write it in the first place.

      “I need to restructure this directory tree. If a file has “index” in the name, then it has to go in a parallel directory structure starting at “/home/repos/project/indexes/” and remove the word “index” from the name. Use the same child folders as the original.”

      There, I just finished a custom Python script to accomplish that. Can I do it myself? Yes. Can I do it in 30 seconds? No. Why would I waste my time writing such a mundane script for a one-off thing? And it can do so much more.

      • Senal@programming.dev
        link
        fedilink
        English
        arrow-up
        7
        ·
        2 days ago

        It’s much faster to check code for correctness than it is to write it in the first place.

        In certain circumstances sure, but at any level of complexity, not so much.

        At some point it becomes less about code correctness and more about logical correctness, which requires contextual domain understanding.

        Want to churn out directory changing python scripts, go nuts.

        Want to add business logic that isn’t a single discrete change to an existing system, less likely.

        For small things is works OK, it’s less useful the more complex the task.

      • Nate Cox@programming.dev
        link
        fedilink
        English
        arrow-up
        3
        ·
        edit-2
        1 day ago

        This is what LSPs are for, or even like just a baseline knowledge of CLI tooling (honestly, like, just mv and sed).

        You do not need an LLM for any of what you’ve described, and I would argue that I can probably do it faster by hand than you can prompt your LLM and debug the slop it hands you back.

        • Quibblekrust@thelemmy.club
          link
          fedilink
          English
          arrow-up
          1
          arrow-down
          1
          ·
          edit-2
          1 day ago

          It was just a contrived example for the purpose of the comment, and I admit it wasn’t a good one.

          How about turning a directory tree of dozens of .url files (Windows web shortcut files) into an HTML file? Directory names as section headings, and nested bulleted lists of hrefs using the .url file names as the link text, minus the “.url”. Can you do that on the CLI? Sure, but it would be a hell of a hack. It would be a disgusting blob of awk code, probably. You’re much better off writing it in something like Python.

          It’s not hard stuff. It’s simple directory recursion, string building, and file writing. It’s just so mind-numbingly boring to write, and it takes time. Instead, Copilot made that for me in 10 seconds. As fast as I could articulate the need in text. No debugging needed. Worked the first time. All I had to ask for in a second pass was more indenting of each nested list, and I could have just added that myself.

          I would argue that I can probably do it faster by hand than you can prompt your LLM and debug the slop it hands you back.

          It’s funny that you’re not even sure you can do that extremely simple thing in my original comment faster than I could prompt an LLM. And your prejudice is showing by assuming I had to even debug it, or that the code was slop. The code looked great. It was perfect Python.

          I wish all of you people would stop knocking what you’ve never even tried. Because it just makes you sound bigoted, using words like “slop” and making assumptions about the quality of the output while never having tried it yourself. Prejudice is never a good thing.

          I’ve written a fair amount of advanced command line stuff using grep and sed and whatever else. Anything non-trivial takes just as much debugging as Python code, and it’s harder to read and debug. And when it’s boring, one-off code, why would you even want to do it yourself?

          I’ll never understand the LLM hate on lemmy. Feel free to hate on capitalism, or on using fossil fuels to power LLMs, or on having no social safety net when LLMs displace jobs, or any number of other things, but to be prejudiced and assume it’s always slop when you’ve never even tried it just makes no sense to me. (Maybe you have, but I’m certain most of the haters haven’t.) It’s a revolutionary tool in its infancy, and it’s already very useful on certain tasks.

          • Nate Cox@programming.dev
            link
            fedilink
            English
            arrow-up
            5
            ·
            edit-2
            22 hours ago

            It’s funny that you’re not even sure you can do that extremely simple thing in my original comment faster than I could prompt an LLM.

            No, see, this is called “having integrity” by not asserting as fact a hypothetical. I am 100% certain that I could knock out your hypothetical in one command in less than a minute but since I didn’t go actually do it I didn’t pretend that I did.

            I do love the whole “oh but it knocks out all of the mundane stuff” as if that’s the primary part of our job. I have been doing development for about 30 years and I have spent so little time on mundane tedious tasks in that time. Certainly not enough time to justify the ecological impact of LLM data centers (even if they actually worked as well as advocates claim).

            I wish all of you people would stop knocking what you’ve never even tried.

            This is your prejudice showing (the only way someone would not like this is if they haven’t tried it). I have tried it, and I found it to be a waste of my time. What I saw was a stochastic parrot providing me objectively wrong answers to questions, and code that I needed to completely rewrite before it would function as advertised.

            That product is not worth drinking the worlds water and ruining people’s quality of life near data centers over. It’s not worth the theft of IP and original thoughts, the obvious copyright violations as it crawls the web (ignoring every standard “do not crawl” marker I know of), the extra cost to site hosts as LLMs savagely barrage their pages. It’s not worth lining the pockets of already super rich VCs as they exploit blockchain 2.0 until the bubble bursts. It’s not worth the real human beings who have already lost their livelihood because an executive is frothing at the mouth to replace people with machines and has been promised AGI “any day now” by LLM spokespeople who don’t seem to understand that whole integrity thing above.

            The hate that you see might have something to do with the willingness to ignore all of the above so “save some time” on the alleged “mundane tasks” people seem to think dominates the industry.

          • Senal@programming.dev
            link
            fedilink
            English
            arrow-up
            1
            ·
            edit-2
            19 hours ago

            It’s a revolutionary tool in its infancy, and it’s already very useful on certain tasks.

            That’s a bold and premature statement IMO, how many AI winters have there been before this one ?

            I’m not even saying you’re wrong, but to assert it with such confidence sounds like crypto bro-nanigans.

            i would argue that it’s evolutionary rather than revolutionary, but that’s subjective i suppose.

            I’ll never understand the LLM hate on lemmy.

            Speaking for me personally i don’t hate LLM’s, i dislike the confidence with which they are being pushed and the lack of acknowledgement of their very real and IMO very important limitations.

            You get statements like

            “And most devs I know use it everyday”

            Without context, and that feeds into the general propaganda feel of the sentiment, because people who don’t actually use them or don’t understand the implied context hear “LLM’s can do all the things, all the professional devs are using it all day”.

            I understand it’s not on you to police peoples impressions, but trying to add actual context to those statements isn’t hate, it’s prudence.

            Then again, that’s subjective too.

      • lightnsfw@reddthat.com
        link
        fedilink
        English
        arrow-up
        3
        ·
        2 days ago

        Now re-explain this 5 more times before it shits out something remotely close to what you’re asking it to do.

        • Quibblekrust@thelemmy.club
          link
          fedilink
          English
          arrow-up
          2
          ·
          2 days ago

          That hasn’t been my experience for something this simple. Not at all. I vibe coded a 75 line Python script the other day and it worked perfectly the first try.