• GoatSynagogue@lemmy.world
    link
    fedilink
    English
    arrow-up
    17
    arrow-down
    16
    ·
    3 hours ago

    On the contrary - the people who tell you AI doesn’t add any value and will disappear in a few years are either lying, dumb, or completely ignorant of what AI can already do.

    • Magister@lemmy.world
      link
      fedilink
      English
      arrow-up
      20
      arrow-down
      7
      ·
      edit-2
      3 hours ago

      I’m a software developer since the 90s, basically before the internet, we had some C books for reference and that’s it. I can tell you that I started last year to use copilot in vscode and some chatgpt on a web page, and it basically changed my world, and all my 50+ years old coworkers are amazed by what it can do really.

      You are right it will not fade at all in software development.

      • tyler@programming.dev
        link
        fedilink
        English
        arrow-up
        21
        arrow-down
        6
        ·
        3 hours ago

        Completely disagree. The difficult part of software development was never writing code OR speed of delivery. It was understanding requirements and problem solving. LLMs still can not do either of those things and there is no evidence they ever will be able to.

        An example of how harmful LLMs actually are to development can succinctly be described with an issue I had a few weeks ago. I found an issue in an open source project, code was fine if a bit hard to understand. I came up with a PR to fix the problem.

        In the time from me checking out the code to submitting the PR, a little less than 24 hours, the maintainer had completely rewritten the entire project with Claude. It was complete nonsense. Incredibly difficult to understand. Abstracting things that didn’t need abstracting. My PR was useless, because the entire project was new. The maintainer definitely didn’t understand the changes either. If a bug came up there’s no way AI would be able to solve it (the bug was still there even though the code was entirely new).

        LLMs don’t understand the code. They just make things that look like they will work. And then a human has to maintain it (or keep paying billions of dollars for Claude to try to fix it).

        • chunes@lemmy.world
          link
          fedilink
          English
          arrow-up
          12
          arrow-down
          1
          ·
          3 hours ago

          the person in your scenario is just fkin stupid. When people say that llms are helpful for coding, they aren’t talking about telling an llm to rewrite an entire codebase.

          • jj4211@lemmy.world
            link
            fedilink
            English
            arrow-up
            1
            ·
            1 hour ago

            You are right, but right now we are living in a very messy reality where it’s hard to know who’s being stupid and who is using it well. One person I know that, well, I was never a huge fan of his work but at least it was somewhat serviceable is now all-in on AI and his code has been rewritten in a similar manner as the parent poster comments. He’s got no idea how it works or how it should worked, the AI decided to rewrite it in an entirely different language, and it’s a buggy mess and it never fixes the bugs without making new bugs. Then he hit his token quota 3 weeks early and basically said he was going to stop working on it because he no longer could manually work the codebase. He didn’t ask for a rewrite, but AI advised him that his language choice was a poor fit and reworked things in another language, one that none of us use to that level of seriousness. It also made it largely based on super convoluted regular expressions.

            The problem is that the leadership is singing the praises of these people, they were on their ‘leaderboards’ of AI adoption and much like the craze of praising “lines of codes”, we are neck deep in the most stupid non-technical evaluation of technical work you could imagine.

        • Promethiel@lemmy.world
          link
          fedilink
          English
          arrow-up
          2
          ·
          1 hour ago

          In other words, you’re arguing that their usage without discernment is detrimental.

          Cory agrees on this very same article, and it also includes the same nuance this chain is trying to give voice to:

          The other question Suresh implicitly raises is: “How can you reconcile the failure of AI in the enterprise with the individual claims of skilled technologists who insist that AI is helping them do great work?” The answer is that these AI users are “centaurs” – experienced workers who are assisted by automation on terms that they set for themselves.

          Thanks to their skill and experience, these workers possess discernment, the ability to tell good code from bad, and (more importantly) good uses of code-generation tools from bad. They demonstrate the adage that worker-driven automation improves quality, while capital-driven automation improves throughput.

          We wouldn’t be having this conversation if LLMs had been given the chance to grow into being the same way the web did. Whereas we would be having this same conversation with the letters swapped if corporations were the ones to spawn the WWW instead of the way it came about.

          The reason is the same. There is only one war.

        • the_wonderfool@piefed.social
          link
          fedilink
          English
          arrow-up
          5
          arrow-down
          3
          ·
          2 hours ago

          I’m sorry but to me your comment is a bit misguided. You raise extremely valid point and are completely right in what you say, and yet all your argument fails to prove that software development hasn’t changed.

          The difficult part was understanding requirements and problem solving: absolutely true. Yet most of the time of a developer was spent in writing code. Now it’s spent refining the analysis so that the LLM stops producing slop. And many programmers are doing it, even with all its downsides, because for them the fun part is understanding the requirements and problem solving, not writing code nor delivering fast. They are delegating those tasks to a machine, even with all the risks and issues.

          Your second point (and the anecdote) further proves how programming changed. Before it was unthinkable that some random person, likely with no clue about what they are doing, would refactor an entire codebase in a night.

          Both are massive changes. For the best? Arguably not, but I seriously doubt there will be any going back now.

          • Feyd@programming.dev
            link
            fedilink
            English
            arrow-up
            8
            ·
            edit-2
            2 hours ago

            Now it’s spent refining the analysis so that the LLM stops producing slop

            The thing is that actually doing this isn’t faster than writing the code, robs the practitioner of learning, and more often than not doesn’t actually happen, so you have a harder to maintain codebase with more bugs and less knowledgeable developers to maintain it.

            Edit: and as a fun bonus accelerates glacier melting!

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

              I think you’re right in general. I think juniors and those who havent yet had experience are not going to understand a goddamn thing and produce broken, insecure, unmaintainable slop.

              I’ve written my share of garbage code – completely by hand! And i’m much better for it.

              Once you have that experience, once you’ve written a few backends and frontends, there’s not much left to understand. Move the data from here to there. Display it, transform it, slice it up. For webdev AI is a huge force multiplier. I can make a dozen features or apps in the time it used to take me to learn one framework I was curious about. It even helps me learn faster because of how quickly I can test new patterns and ideas.

              There’s certainly a right way to use it if you want to continue being edified, burning the planet down aside.

              • some_designer_dude@lemmy.world
                link
                fedilink
                English
                arrow-up
                2
                ·
                2 hours ago

                burning the planet down aside

                If we only used AI for codegen, this probably wouldn’t be much of an issue. Those cat videos take more energy than building a complete app. Also, it’s all pretty new and the newest tech 40 years ago would have filled a warehouse and had the computational power of a potato, but here we are now. I expect we’ll get more efficient at it and in the ways we use it. And there’s already a huge worldwide shift in energy capture (America aside…)

              • MangoCats@feddit.it
                link
                fedilink
                English
                arrow-up
                1
                ·
                1 hour ago

                I’ve written my share of garbage code – completely by hand!

                Whenever I look back at old code, mine or others, the first words that usually come to mind are “what you have to understand about this is… we were on a tight schedule, we never thought this was going to be used in production, we weren’t allowed to execute the planned and contracted refactor… etc. etc. etc.”

            • the_wonderfool@piefed.social
              link
              fedilink
              English
              arrow-up
              2
              ·
              2 hours ago

              Fully agree.

              Unfortunately many people would rather spin the wheel for a chance to win magically produced functioning code, rather than doing the work themselves with sure results - even if it takes the same or more time. And the kind of current politicians there are around the world proves that most people don’t give a fuck about the ice-caps (though I would also argue that it’s not so much the random person calling an LLM that is poisoning the waters - even though it does have a non-negligible effect -, rather it’s massive sociopaths in charge of the companies creating LLMs that are perfectly fine with destroying the environment and other people’s money in a vain dream of being the owner of some kind of “new order”)

            • MangoCats@feddit.it
              link
              fedilink
              English
              arrow-up
              1
              ·
              1 hour ago

              robs the practitioner of learning

              Not at all. It gives the practitioner the option of skipping the learning.

              Starting in the 1990s I started skipping the learning of assembly language, compilers got good enough that I just don’t need to know how the latest SIMD/MIMD/ whatever instructions work, I just express what I want in C and gcc or whatever handles the optimization for me.

              • Feyd@programming.dev
                link
                fedilink
                English
                arrow-up
                2
                ·
                1 hour ago

                Comparing it to an (almost) entirely complete abstraction where you (almost) never have any benefit to looking under the covers like c over assembler is completely dishonest.

                • MangoCats@feddit.it
                  link
                  fedilink
                  English
                  arrow-up
                  1
                  ·
                  1 hour ago

                  entirely complete abstraction where you (almost) never have any benefit to looking under the covers like c over assembler is completely dishonest.

                  Is it, though? In the early 1990s I could still optimize compiler output by hand, here and there. In the 1980s it was common practice and necessary in many circumstances to make complex things happen on the constrained hardware. In the 1970s there were a lot of programmers who never touched Fortran, just practiced assembly all the time because Fortran was too inefficient for their needs.

                  I’ll say that LLMs, this year, are something like compilers were in the 1960s - a revolutionary improvement in accessibility of coding, being able to express what you want in “natural language” - like COBOL did starting in 1959.

                  LLMs have plenty of pitfalls that COBOL doesn’t today, but I’ll note that Borland Turbo C++ compiler in 1991 was too damn buggy to do anything much more complex than “Hello, World.” with.

                  • Feyd@programming.dev
                    link
                    fedilink
                    English
                    arrow-up
                    1
                    ·
                    47 minutes ago

                    Yes. Acting like an LLM over a programming language is anything close to a higher level over lower level programming language makes you completely full of shit.

            • jj4211@lemmy.world
              link
              fedilink
              English
              arrow-up
              1
              ·
              1 hour ago

              This is a point that really sticks with me. Using it for the sometimes spot on cakewalk segments is a fairly productive win. By the time you stubbornly insist on driving it entirely blackbox with chat and trying to get the right results without actually touching code… Well, even when it works, it’s often more work than just doing it yourself.

              Someone rebased a UI I worked on in a new version of the UI framework. As a result, there was this one odd gap in the UI in one specific place. A vibe coder spent 3 hours back and forth with the AI trying to get it to correct the gap and finally submitted their merge request. Hundreds and hundreds of lines of CSS. So I declined the merge request, open the gui, looked at the gap, hit f12, adjusted a single padding statement, and it was all good. People are struggling with defining all sorts of criteria and rigging it to let it try and try and try again and hopefully laid out every contingency, every corner case, and spent hours laying the ground work and could have done similar in a more straightforward way.

              • Feyd@programming.dev
                link
                fedilink
                English
                arrow-up
                1
                ·
                41 minutes ago

                Using it for the sometimes spot on cakewalk segments is a fairly productive win.

                One thing that absolutely blows my mind is how many people will say how much time it saves then with repetitive or boilerplate code. It is obvious these people have never actually tried to optimize their workflow even a little bit before. Regex replace, snippets, and keyboard macros have existed in text editors forever and are actually deterministic.

                • jj4211@lemmy.world
                  link
                  fedilink
                  English
                  arrow-up
                  1
                  ·
                  21 minutes ago

                  As little as possible of my work is boilerplate, but some times there will be something like “I want to take width,height, and depth as arguments from the command as variables”, and poof, all the argv tedium is done.

          • MangoCats@feddit.it
            link
            fedilink
            English
            arrow-up
            2
            ·
            edit-2
            1 hour ago

            Yet most of the time of a developer was spent in writing code.

            That’s what developers told the world. Now they’re exposed, it never really took that long to write the code. (Only partly joking.)

            Actually, a whole lot of time went into reading other developers’ code, getting documentation in sync with the actual implementation. And if you didn’t do all that, you tended to have a lot more bugs / vulnerabilities, etc. The LLMs are wicked fast at reviewing code, they don’t find ALL the problems, a lot of problems they do find aren’t worth fixing, but they do find more actual actionable problems per minute than most developers can find per hour in a big code base.

        • MangoCats@feddit.it
          link
          fedilink
          English
          arrow-up
          1
          arrow-down
          1
          ·
          edit-2
          1 hour ago

          It was understanding requirements and problem solving. LLMs still can not do either of those things and there is no evidence they ever will be able to.

          I don’t know… I just made a scheduling / timesheet creation app. Multi-user, overlapping clients and providers, multiple funding sources. Took 10 calendar days to make the initial app working part time, maybe 2-3 hours a day. Initially written in Python, decided at that point I’d rather have it in Go. Because the initial app had robust requirements and design docs, the translation to Go happened in less than 5 calendar days, with almost zero human involvement beyond telling the agent “continue” at each stopping point. After the Go translation was done (and debugged by the LLM to a flawless translation - only difference is that it runs faster), I was given a new timesheet to use for some of the workers, weekly instead of bi-weekly. Pay weeks start on Monday instead of Thursday. Various wrinkles about how the employees and clients and services are identified, weird sub-totals by service. All I told the LLM was: “Here’s a new timesheet that we’ll be using for some workers, design the necessary modifications and extensions to accomodate it.” It did, independently. It highlighted three shortcuts it took and I told it not to take those shortcuts, it adjusted.

          That’s not quite rocket science, but it’s still impressive: to dissect the given .pdf, determine what data goes in what fields, in what formats, with what calculations, based on just reading the page, then adapt the existing app to fill it out automatically.

      • jwiggler@lemmy.dbzer0.com
        link
        fedilink
        English
        arrow-up
        10
        arrow-down
        1
        ·
        3 hours ago

        Tech in general. I’m a sysadmin in research computing. You know how many clients at prestigious universities are using AI for mathematics, biology, etc? All of them

      • Feyd@programming.dev
        link
        fedilink
        English
        arrow-up
        4
        arrow-down
        2
        ·
        3 hours ago

        I’m my experience people give tech demos, everyone is impressed, my coworkers say it makes them multiples faster, then I have more work making sure the wheels don’t fall off.

        • MangoCats@feddit.it
          link
          fedilink
          English
          arrow-up
          1
          ·
          1 hour ago

          I’ve spent the last 4 months using LLMs to review / ensure that junior coders’ wheels don’t fall off.