• 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.

  • Saw an article on getpocket while at work by an alleged programmer that was “mourning the art of coding” because ChatGPT was doing such a good job that his non-coder friend was able to setup a webpage.

    To be fair I couldn’t tollerate reading past the first paragraph, but it definitely felt like the dude didn’t know the difference between funtional code and good code. Like, sure ChatGPT may be able to make a website, but good luck getting it to formulate anything non-generic.

  • 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.

    • 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.

  • 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.

    • 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)