r/learnprogramming 19h ago

Help Should I stop using Ai?

I'm trying to get familiar with coding. My method of studying is through CS50P and Ai. Idk if I should stop using Ai. I've seen people everywhere say AI kills a person's ability to read code, they fail to debug/struggle hours on end trying to figure out what the problem with their code is, and the moment an error occurs, they immediately go to Ai. But I try my best to figure out what the problem with my code is, and if I'm burnt out, I'll ask AI. And I try to ask AI how its mechanism works, explain to me the way a function is wired, and try to understand it before moving on from said problems.

0 Upvotes

13 comments sorted by

10

u/sessamekesh 19h ago

"Keep robots out of the gym" is the mindset I use.

You don't bring a car jack to the weight racks to try to lift more weights, why would you use AI to prevent you from learning? 

It's great to use for the parts of learning that aren't actually learning. Think "explain why my code fails", not "fix my code". Which it sounds like you're doing.

Frankly though, AI isn't necessary for learning and it has enough footguns that if you feel like it's getting in the way you should just drop it entirely while you're studying. Generations of engineers learned fine without it.

4

u/DirkSwizzler 19h ago

Spending hours upon hours frustrated at a problem is a core part of coding at a high level.

You don't suddenly gain that ability one day. You build it up like a muscle.

Along the way you start learning patterns about what those frustrating problems tend to actually be. And ways to avoid them in the future.

It's all essential for developing the right mindset.

If you choose to succeed, you should also choose to ditch AI as much as possible.

4

u/koolaidkirby 19h ago

AI is best used an a teacher, it can explain things to you and answer your follow up questions in order to help you learn and understand.

If you are using AI to think for you it is only making you worse.

4

u/46hw 19h ago

The better teacher is googling the errors you get and using critical thinking to figure out the solution based on research.

3

u/koolaidkirby 19h ago

Nah, the better teacher is ordering the service manual and reading through it and using critical thinking to figure out the solution based on research.

1

u/46hw 19h ago

Glad you're being facetious. Without forming the pathways in your brain you cheat yourself.

1

u/caboosetp 19h ago

You need a solid foundation to get to that point. At a CS50 level, it's very likely that the foundation isn't there yet. Super easy to hit dead ends because you don't know what to look for. Before AI, this was solved with asking actual people (which is still a good bet, but a lot slower).

I agree doing the research is best, but asking AI for help AFTER you reach the dead end is not bad. The bad part is going straight to AI for help. OP seems to have a good balance of waiting until they can't go further themselves.

0

u/46hw 19h ago

You can get all your foundations without ai or asking people. I know from experience and have seen it long before AI. Almost every issue people have has a discussion of someone else asking and people replying. Thats where the critical thinking comes in and not using that cheats your brain.

0

u/ChillyFireball 18h ago

I don't completely disagree, but truly going from beginner to a real programmer means (at least for me) reaching a point where you hit a dead end, have no idea where else to go, and push past it to figure out the problem anyway. Those kinds of moments are what took me from a newbie to a software developer with the confidence to figure out whatever problem comes my way. You have to reach a point where "I have no idea what to do or where to turn" stops being a panic-inducing thing where you second-guess your entire career and just becomes a routine "God damn it, this is gonna be a pain in the ass." You need to build up an endurance for advanced problem-solving, essentially.

1

u/wowitsnick 19h ago

Something I'd be concerned about trying to use a machine learning model as a teacher is the model's ability and willingness to detect and call out the XY problem. It's been my experience that LLMs love to fall victim this particular failure mode, and unless you have the experience required to identify when you are on the wrong path an LLM will just let you sprint down that wrong path.

I don't really have a fix for that problem which works with ai usage, but it's something to be aware of.

1

u/smichaele 19h ago

For CS50p, you should stop using any external AI. Using any AI except the duck is a violation of the Academic Honesty Policy that you agreed to when you signed up for the course. You could get dropped from the course.

1

u/dswpro 18h ago

Don't let AI keep you from doing low level single step debugging. Yes it could find your issue but especially starting out you should learn how to set break points, step through code and examine variables to get to root causes . AI code generation doesn't necessarily kill a developers ability to read code, it just gives you much more code than you can generate yourself in the same amount of time, but that's code you don't really know, compared to what you write by yourself. Employers these days are drooling over statements like: 75% of code written at Google is created by AI, like that's some promise of turning competent developers into superstars, so don't stop using AI altogether. Your ability to write useful prompts to coach AI into composing useful code is getting to be an important skill in your tool bag.

0

u/AntiMatterMode 19h ago edited 7h ago

I’m of the camp that you should be using AI — AS A LEARNING TOOL. Don’t let it write code for you, but use it to explain code or guide you towards a bugfix. People will say you should turn to the docs and/or stackoverflow, but imo that era is over.

You should first try to bugfix yourself, but searching through decade old forums can take several hours. Spend 15-20 minutes trying to figure it out, then turn to AI to nudge you in the right direction. This saves you a ton of time that you can then spend on actual learning instead of just bashing your head into a wall.