ChatGPT - is using it cheating?

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

thebardingreen,
@thebardingreen@lemmy.starlightkel.xyz avatar

Not using it will make it awfully hard to compete with all the devs who ARE using it.

Asking to ChatGPT to write comments is a GREAT idea!

soundasleep, (edited )
soundasleep avatar

It depends what you're wanting to do and what you define as 'cheating'? I'd expect you'd get better at debugging massive amounts of hallucinated code, but I don't think it'd generally improve your skills in software design/engineering/architecture. It might help you learn about breaking down software and integration though.

Spectacle8011,
@Spectacle8011@lemmy.comfysnug.space avatar

I wrote a fairly detailed spec for some software and told it what dependencies to use, what it should do, and what command-line options it should use. The base was a decent starting point, but after several hours of back-and-forth, after actually reading the code, I realized it had completely misinterpreted my spec somehow and implemented a similar feature in a completely broken way, as well as making a few mistakes/redundancies elsewhere. I tried to coach it to fix these issues, but it just couldn't cope.

I spent about 3 hours getting this base code generated, and about 5 hours re-writing it and implementing the features properly. The reason I turned to ChatGPT is because I needed this software written by the end of the day, and I didn't have time to read all the different docs for the dependencies I needed to use to write it. It likely would have taken me at least 2 days to write this program myself. It was an interesting learning experience, but my only ChatGPT usage in the future is likely to be with individual code blocks.

You really need to pay attention if you're using LLMs to generate code. I've found it usually gets at least one thing wrong, and sometimes multiple things horribly wrong. Don't rely on it; look for other sources to corroborate all of its explanations. Additionally, please do not feed proprietary, copyrighted code into ChatGPT. The software I was writing was released under a free license. OpenAI will use it as training data unless you use their API and opt out of it. ChatGPT isn't really a tool; it's a service which is using you as much as you're using it.

beejjorgensen,
@beejjorgensen@lemmy.sdf.org avatar

Programming pays well because it's hard. Just keep in mind that if AI is making it easy for you, it's making it easy for a lot of people who could easily replace you.

Use it as a tool, but know what it's doing, and be able to do it yourself after you learn from it.

Personally, I generally struggle through on my own first and then ask it to critique. Great teachers don't just give you the code to copy.

By analogy, you need to be able to hand fly this plane when the autopilot dies; those are the pilots who get the jobs.

themizarkshow,

It’s no more cheating than scrubbing through StackOverflow posts for help. Just a lot quicker.

JackbyDev,

No, it’s not cheating, but also please don’t blindly trust it. Random people on the internet can be wrong too but people can at least correct them if they are. Stuff ChatGPT outputs is fresh for your eyes only.

Edit: typo

mrkite,

Agreed. While I’ve never used ChatGPT on an actual project, I’ve tested it on theoretical problems and I’ve never seen it give an answer that didn’t have a problem.

So I would treat it like any answer on Stack Overflow, use it as a start, but you should definitely customize it and fix any edge cases.

axtualdave,

ChatGPT is, at least for the moment, just a really fancy snippet repository with an search function that works really well.

Is re-using code someone else wrote cheating? Nah.

But, no matter where you get the code from (cough Stackoverflow), if you use it without understanding what it's doing, you're not doing yourself any favors.

sj_zero,

Over time you’ll realize Chatgpt has giant holes.

As a developer you do use tools every day – you probably use a rapid gui tool, you use a compiler, you use APIs, and they’re things you probably couldn’t build on your own. Even under MS-DOS, you’re using bios or msdos interrupts. The PC also handles lot of stuff.

So it’s just another tool, and it doesn’t do everything so you need to use it as one thing in your pouch. Don’t rely on it too much, and be mindful of IP concerns – ai is like a monkey with a camera legally, you can’t copyright whatever it creates.

webghost0101,

Its only cheating if you pretend you didn’t use it. Chatgpt provides based on what you ask and you are responsible for its endresult which will not be perfect and only as good as you can understand and use it. Its a super effective powertool and aid but hiding that your using it is like saying you code with just a keyboard and no monitor.

TeaHands,
@TeaHands@lemmy.world avatar

If you understand the code and are able to adapt it to for your needs it's no different to copy pasting from other sources, imo. It's just a time saver.

If you get to the point where you're blindly trusting it with no ability to understand what it's doing, then you have a problem. But that applied to Stack Overflow too.

G0R3B0XXX,

I've never seen utilizing advancing tools as "cheating", but I can understand why purists might scoff at it. You should always be running checks and making sure everything is legit before deployment anyway, so I have a hard time seeing it as anything but Autopilot+.

danc4498,

Anything that isn't assembly language is cheating.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • programming@programming.dev
  • DreamBathrooms
  • ngwrru68w68
  • modclub
  • magazineikmin
  • thenastyranch
  • rosin
  • khanakhh
  • InstantRegret
  • Youngstown
  • slotface
  • Durango
  • kavyap
  • mdbf
  • GTA5RPClips
  • JUstTest
  • ethstaker
  • normalnudes
  • tester
  • osvaldo12
  • everett
  • cubers
  • tacticalgear
  • anitta
  • provamag3
  • Leos
  • cisconetworking
  • megavids
  • lostlight
  • All magazines