Over the last year I’ve been learning Swift and starting to put together some iOS apps. I’d definitely class myself as a Swift beginner.

I’m currently building an app and today I used ChatGPT to help with a function I needed to write. I found myself wondering if somehow I was “cheating”. In the past I would have used YouTube videos, online tutorials and Stack Overflow, and adapted what I found to work for my particular usage case.

Is using ChatGPT different? The fact that ChatGPT explains the code it writes and often the code still needs fettling to get it to work makes me think that it is a useful learning tool and that as long as I take the time to read the explanations given and ensure I understand what the code is doing then it’s probably a good thing on balance.

I was just wondering what other people’s thoughts are?

Also, as a side note, I found that chucking code I had written in to ChatGPT and asking it to comment every line was pretty successful and a. big time saver :D

  • truthy@programming.dev
    link
    fedilink
    English
    arrow-up
    11
    ·
    edit-2
    2 years ago

    No, it’s not cheating. But you are expected to understand what your code does and how.

    And this brings us to the explanations it provides. Keep in mind that these AI tools excell in producing content that seems right. But they may very well be hallucinating. And just as for code, small details and exact concepts matter.

    I would therefore recommend you to verify your final code against official documentation, to make sure you actually understand.

    In the end, as long as you don’t trust the AI, neither for solutions or knowledge, its just another tool. Use it as it fits.

    • Baldur Nil@programming.dev
      link
      fedilink
      English
      arrow-up
      4
      ·
      2 years ago

      I’d go as far as saying you should know what every line of code does or you’re risking the whole thing to have unexpected side effects. When you understand what the code is doing, you know what parts you should test.