• ColdFenix@discuss.tchncs.de
    link
    fedilink
    arrow-up
    80
    arrow-down
    1
    ·
    11 months ago

    The trick is to split the code into smaller parts.

    This is how I code using ChatGPT:

    1. Have it analyze how to structure the program and then give me the code for the outline with not yet implemented methods and functions.
    2. Have it implement the methods and functions one by one with tests for each one.
    3. I copy the code and test for each method and function before moving on to the next one So that I always have working code.
    4. Despair because my code is working and I have no idea how it works and I have become a machine that just copies code without an original thought of my own.

    This works pretty well for me as long as I don’t work with obscure frameworks or in large codebases.

    • HurlingDurling@lemm.ee
      link
      fedilink
      English
      arrow-up
      20
      ·
      11 months ago

      Actually, that’s the trick when writing code in general, and also how unit tests help coding an application.

    • ch00f@lemmy.world
      link
      fedilink
      arrow-up
      8
      ·
      11 months ago

      So my job (electrical engineering) has been pretty stagnant recently (just launched a product, no V2 on the horizon yet), so I’ve taken my free time to brush up on my skills.

      I asked my friend (an EE at Apple) what are some skills that I should acquire to stay relevant. He suggested three things: FPGAs, machine learning, and cloud computing. So far, I’ve made some inroads on FPGAs.

      But I keep hearing about people unironically using chatGPT in professional/productive environments. In your opinion, is it a fun tool for the lazy, or a tool that will be necessary in the future? Will employers in the future be expecting fluency with it?

      • ColdFenix@discuss.tchncs.de
        link
        fedilink
        arrow-up
        4
        ·
        11 months ago

        Right now it’s a good but limited tool if you know how to use it. But it can’t really do anything a professional in a given field can’t do already. Alhough it may be a bit quicker at certain task there is always a risk of errors sneaking in that can become a headache later.

        So right now I don’t think it’s a necessary tool. In the future I think it will become necessary, but at that point I don’t think it will require much skill to use anymore as it will be much better at both understanding and actually accomplishing what you want. Right now the skill in using GPT4 is mostly in being able to work around it’s limitations.

        Speculation time!

        I don’t think the point where it will be both necessary and easy to use will be far of tbh. I’m not talking about AGI or anything close to that, but I think all that is necessary for it to reach that point is a version of GPT4 that is consistent over long code generation, is able to better plan out it’s work and then follow that plan for a long time.

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

        That’s like asking in the early 90’s if knowing how to use a search engine will be a required skill.

        Without a doubt. Just don’t rely on it for your own professional knowledge, use it to get the busywork done and automate where you can. I have virtually replaced my search engine needs with Bing AI when troubleshooting at work because it can find PDF manuals for obscure network hardware faster than I can shift through the first five pages of a Google search. It’s also one of those things where the skill of the operator can change the output from garbage to gold. If you can’t describe your problem or articulate what you want the solution to look like, then your AI is going to be just as clueless.

        I don’t know what the future will hold and how much of our white collar workforce will be replaced by AI in the coming decades, but our cloud and automation engineers are not only leveraging LLM models but actively programming and training in-house models on company data. Bottom rung data entry is going the way of the dodo in the next ten years for sure. Programmers will likely see the same change that translators did after translation software was developed, they moved from doing the job themselves to QA’ing the software.

        Times are changing but getting onboard with using AI as well as learning how to integrate it will be the next big thing in the IT world. It’s not going to replace us anytime soon but it will reduce the workforce as the years go by.

    • PM_Your_Nudes_Please@lemmy.world
      link
      fedilink
      arrow-up
      5
      ·
      edit-2
      11 months ago

      This is exactly how I use it. Just like with conversations, ChatGPT tends to lose the plot after a while. It starts to “forget” the start of the conversation, and has trouble parsing things. It’s great for the first few paragraphs then begins to drift. So only use it for a few “paragraphs” worth of code at a time.

      And as always, you need to make sure that it’s not just pretending to know. It will confidently feed you incorrect information, so you need to double check it occasionally.

    • Platypus@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      62
      arrow-down
      1
      ·
      11 months ago

      I read that one, he literally described himself as mediocre programmer and is excited about gpt as a way for mediocre programmers to be competitive again. I’m sure he’s in for a really fun time when he has to find a bug in 12k lines of AI spaghetti he bolted together.

      • Kepabar@startrek.website
        link
        fedilink
        arrow-up
        3
        ·
        11 months ago

        I’m excited for it for the same reasons.

        I don’t have skill in art or coding.

        But AI platforms have let me produce things that work for my personal needs that would be beyond my abilities before starting the project.

  • RightHandOfIkaros@lemmy.world
    link
    fedilink
    English
    arrow-up
    51
    arrow-down
    3
    ·
    edit-2
    11 months ago

    ChatGPT is excellent for suggesting an idea that I haven’t thought of. I can then use that as a springboard to write out something that works. Asking it if there are optimizations also can yield quite good results. I find I spend less time debugging on average, but not by a large margin.

  • stebo02@sopuli.xyz
    link
    fedilink
    arrow-up
    45
    ·
    11 months ago

    I never copy code from chatgpt. It’s not my code and it probably doesn’t work. However it is great at making suggestions on how to tackle a problem or how to improve your code. Use ChatGPT like Stack Overflow, with instant replies.

    • Railcar8095@lemm.ee
      link
      fedilink
      arrow-up
      17
      ·
      11 months ago

      This. I always use that example, ChatGPT is stack overflow or a very eager intern. Review and make test cases

    • Lucidlethargy@sh.itjust.works
      link
      fedilink
      arrow-up
      11
      arrow-down
      3
      ·
      11 months ago

      Man, it’s great until it contently feeds you incorrect information. I’ve been burned far too many times at this point…

      • stebo02@sopuli.xyz
        link
        fedilink
        arrow-up
        11
        ·
        11 months ago

        That’s why you should always verify the information with other sources. Just like information you get from any other website/person. It’s not any different.

      • Gabu@lemmy.ml
        link
        fedilink
        arrow-up
        7
        ·
        edit-2
        11 months ago

        TBH, if you can’t almost instantly figure out why and how ChatGPT suggested bad code, you shouldn’t be using it at all - you’re out of depth.

        It’s why I’ll gladly use it to suggest markdown or C code, but never for a complex Python library.

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

        Blaming the AI for misinformation is like blaming Google for giving you bad search results.

        Learn how to parse the data and fact check it. Usually you can get a hyperlink to the source to see if it’s even reasonably trustworthy.

    • tweeks@feddit.nl
      link
      fedilink
      arrow-up
      6
      ·
      11 months ago

      Plain copy paste without a critical view is not recommended, but it surely provides good pieces of code from time to time. Especially in obscure frameworks/languages, compared to what can be googled.

      ChatGPT 4 is a really big difference with 3.5 though. What took me hours together with the 3.5, was fixed in a few minutes with 4.

  • LesserAbe@lemmy.world
    link
    fedilink
    arrow-up
    23
    arrow-down
    1
    ·
    11 months ago

    I just use it for snippets - “here’s my function, how would I go about changing x?” Or, “here’s my block of code, I’m getting this error, what am I missing?” (I know, I’m fine to share my code but not company code)

    • SomeBoyo@feddit.de
      link
      fedilink
      arrow-up
      18
      ·
      11 months ago

      You can host a model locally with gpt4all. So using company code shouldn’t be a problem, since it wouldn’t leave your machine.

      • brbposting@sh.itjust.works
        link
        fedilink
        arrow-up
        7
        ·
        11 months ago

        Nice.

        Readers, note performance won’t match GPT-4. You can see the leaderboard then compare some of the available GPT4All models side-by-side. They may be sufficient for your needs.

    • Gabu@lemmy.ml
      link
      fedilink
      arrow-up
      5
      ·
      11 months ago

      Generally, same. It’s also competent (not good) at boilerplate.

  • Empathy [he/him]@beehaw.org
    link
    fedilink
    arrow-up
    15
    ·
    edit-2
    11 months ago

    Co-pilot can write some small very simple functions for me, sometimes saving me the need to look at documentation. It will still often fail at those, in my experience, and will consistently fail at anything more complex.

    It will get better, but currently it’s only a small help.

    • voxel@sopuli.xyz
      link
      fedilink
      arrow-up
      4
      ·
      11 months ago

      it really helps with the boring parts and takss that require doing the same thing over and over;
      for example, i use it to generate mapping functions (like in my (abandoned) gba emulator project, function that maps arm instruction type enum to function pointers was generated almost entirely by chatgpt)

    • CanadaPlus@lemmy.sdf.org
      link
      fedilink
      arrow-up
      5
      ·
      11 months ago

      Yeah, that’s the way to go. Copilot or similar to automate the simple stuff, while you still do all the architecting and check whatever it suggests.

  • regbin_@lemmy.world
    link
    fedilink
    English
    arrow-up
    10
    arrow-down
    1
    ·
    11 months ago

    I love LLMs for coming up with patterns to solve the problem but that’s about it. I’ll do the implementation myself.

  • auf@lemmy.ml
    link
    fedilink
    arrow-up
    9
    arrow-down
    3
    ·
    11 months ago

    It seems that you gotta learn prompt engineering