• AngryPancake@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        17
        ·
        5 months ago

        It’s really useful for programming. It’s not always right but it has good approaches and you can ask it to write tedious parts of your code like long switch statements. Most of my programming problems were solved because I just explained the problem like Rubber Duck Debugging.

        • lemmyvore@feddit.nl
          link
          fedilink
          English
          arrow-up
          10
          arrow-down
          18
          ·
          5 months ago

          Depends on what you mean by “programming”.

          If you mean it like the neighboring comment, who is probably a mathematician or physicist who just needs to feed it a science paper and run some models to verify the premise, but doesn’t care about the code itself, it’s a good tool. They aren’t programmers and learning programming or using a programmer would only delay them.

          If you’re a professional programmer however your whole point is to create the most efficient specifications for the computer to do things. You cannot convey 100% of the spec to something like GPT so inevitably some is lost, so the end result is not the most efficient (or doesn’t even cover everything you needed).

          You can of course use it to get a head start but there are also boilerplate and templating tools and frameworks that cover the same purpose.

          Unlike the physicist, the code you make is the whole point, and it’s based in your knowledge of the subject matter, and you can’t replace it with GPT. Also, using GPT in this manner stunts your professional growth and damages you long term.

          It would be somewhat worth it if at least it accelerated some part of your work, and it can find its way into the tooling, but straight out replacing your brain with it ain’t it.

          For writing actual code and designing software it’s more trouble than it’s worth, it produces half-assed code that needs fixing.

          TLDR figure out ASAP if you really mean to be a programmer or some other type of specialist that only deals with programming incidentally.

          • Womble@lemmy.world
            link
            fedilink
            English
            arrow-up
            11
            arrow-down
            3
            ·
            5 months ago

            That level of condescension (rethink your life because you are making use of a tool I dont like) really isnt productive. You seem to be thinking that using AI as a tool to help you program is equivalent to turning your brain off and just copy and pasting code snippets, it isnt. It can be a good way to explore a language or framework you aren’t familiar with (when combined with the documentation) or to figure out general potential methods of solving a problem.

            • Hexarei@programming.dev
              link
              fedilink
              English
              arrow-up
              4
              ·
              5 months ago

              Not the person you’re replying to, but my main hangup is that LLMs are just statistical models, they don’t know anything. As such, they very often hallucinate language features and libraries that don’t exist. They suggest functions that aren’t real and they are effectively always going to produce average code - And average code is horrible code.

              They can be useful for exploration and learning, sure. But lots of people are literally just copy-pasting code from LLMs - They just do it via an “accept copilot suggestion” button instead of actual copy paste.

              I used Copilot for months and I eventually stopped because I found that the vast majority of the time its suggestions are garbage, and I was constantly pausing while I typed to await the suggestions, which broke flow state and tired me out more then it ever helped.

              I’m still finding bugs it introduced months later. It’s great for unit tests, but that’s basically it in my case. I don’t let the AI write production code anymore

              • lemmyvore@feddit.nl
                link
                fedilink
                English
                arrow-up
                1
                ·
                5 months ago

                Even for unit tests it needs to be taken with a grain of salt because they should describe what should be there and at best Copilot can describe what is there.

                The overlap may or may not be there but either way it’s a dicey proposition to allow Copilot to second guess the intent behind the code and make that guess the reference.

              • Womble@lemmy.world
                link
                fedilink
                English
                arrow-up
                3
                arrow-down
                2
                ·
                edit-2
                5 months ago

                They can be useful for exploration and learning, sure. But lots of people are literally just copy-pasting code from LLMs - They just do it via an “accept copilot suggestion” button instead of actual copy paste.

                Sure, people use all sorts of tools badly, that’s a problem with the user not the tool (generally, I would accept poor tool design can be a factor).

                I really dislike the statement of “LLMs dont know anything they are just statistical models” it’s such a thought terminating cliche that is either vacuous or wrong depending on which way you mean it. If you mean they have no information content that’s just factually wrong, clearly they do. If you mean they dont understand concepts in the same way as a person does, well yes but neither does google search and we have no problem using that as the start point of finding out about things. If you mean they can get answers wrong, its not like people are infallible either (who I assume you agree do know things).

                • Hexarei@programming.dev
                  link
                  fedilink
                  English
                  arrow-up
                  2
                  arrow-down
                  1
                  ·
                  5 months ago

                  You can dislike the statement all you want, but they literally do not have a way to know things. They provide a convincing illusion of knowledge through statistical likelihood of the next token occurring, but they have no internal mechanism for looking up information.

                  They have no fact repositories to rely on.

                  They do not possess the ability to know what is and is not correct.

                  They cannot check documentation or verify that a function or library or API endpoint exists, even though they will confidently create calls to them.

                  They are statistical models, calculating how likely the next token is based on transformations in a many-dimensional space in which the relationships between existing tokens are treated as vectors in a process for determining the next token.

                  They have their uses, but relying on them for factual information (which includes knowledge of apis and libraries) is a bad idea. They are just as likely to provide realistic answers as they are to make up fake answers and present them as real.

                  They are good for inspiration or a jumping off point, but should always be fact checked and validated.

                  They’re fantastic at transforming data from one format to another, or extracting data from natural language written information. I’m even using one in a project to guess at filling in a form based on an incoming customer email.

                  • Womble@lemmy.world
                    link
                    fedilink
                    English
                    arrow-up
                    2
                    ·
                    5 months ago

                    They have no fact repositories to rely on.

                    They do not possess the ability to know what is and is not correct.

                    They cannot check documentation or verify that a function or library or API endpoint exists, even though they will confidently create calls to them.

                    These three are all just the same as asking a person about them, they might know or might not but they cant right there and then check. Yes LLMs due to their nature cannot access a region marked “C# methods” or whatever, but large models do have some of that information embedded in them, if they didnt they wouldnt get correct answers anywhere near as often as they do, which for large models and common languages/frameworks is most of the time. This is before getting into retrieval augmented generation where they do have access to repositories of fact.

                    This is what I was complaining about in the original post I replied to, no-where have I or anyone else I’ve seen in this thread say you should rely on these models, just that they are a useful input. Yet relying on them and using them without verification is the position you and the other poster are arguing against.

      • Mkengine@feddit.de
        link
        fedilink
        English
        arrow-up
        17
        ·
        edit-2
        5 months ago

        My two use cases are project brainstorming and boilerplate code, which saves a lot of time for me. For example sometimes I find an interesting paper and want to try it out in Python. If they did not provide code that will take some time and trial and error to get it running. Or I just copy the whole paper into ChatGPT and get an initial script that sometimes even works with it’s first try. But that is not the point, I can do the last steps myself, it really is a time saver for me with regards to programming.

      • explodicle@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        2
        ·
        5 months ago

        I use it for programming questions.

        • immediate replies so I don’t have to switch tasks while praying for an answer

        • no suggestions that I just do the whole thing differently

        • infinite patience

        • Passerby6497@lemmy.world
          cake
          link
          fedilink
          English
          arrow-up
          3
          ·
          5 months ago

          Don’t forget the other benefits of using AI for programming:

          • It may make up shit that doesn’t exist or just give you wrong syntax

          • It will give you the same wrong answer repeatedly until you get irritated and it hangs up on you

          • Is way too goddamned excited while giving you shit answers until you run out of patience

          I like using it for help, but goddamn do I want to throw my laptop out the window some days.

          • explodicle@sh.itjust.works
            link
            fedilink
            English
            arrow-up
            2
            ·
            5 months ago

            💯. Although sometimes I feel like berating the AI is more satisfying; it’s all his fault I haven’t solved this yet!