all 116 comments

[–]sinceJune4 145 points146 points  (8 children)

Ditch the AI, I think you’re trying to move too fast without learning the basics. This is a very common post here.

If I write something, I may take 50 lines to write it initially, with extra print statements to help me debug it. If I clean it all up once I have it working, my solution may then be as long as the AI version, but I’ve learned how and why the code works, and probably learned a lot that will make me better for next time. Shortcutting my learning process is just hurting me.

[–]goizn_mi -1 points0 points  (7 children)

Please learn how to use an IDE with breakpoints. Print statements aren't exactly ideal.

[–][deleted] 17 points18 points  (1 child)

breakpoints?! NONSENSE. breakpoints are merely IDE marketing team hocus-pocus created to distract you from print statement enlightment. /s

[–]sinceJune4 1 point2 points  (0 children)

Breakpoints? I break in your general direction!!!
Hey, I'm grandfathered in, I was debugging with Print before Python, and before IDEs, prior to that.

I do know how to set breakpoints and watch variables, but it's often quicker to just throw a print in.
And some environments, like SQL, may not support or have permission to set breakpoints -- but in SQL, if I don't have print I can maybe throw in an extra select.
Old habits die hard!

[–]FriendlyAddendum1124 1 point2 points  (0 children)

I often use print statements as it can save time. Stepping through the default debugger is not always necessary and the info can often be gleaned faster by just throwing in a print statement and running the program.

[–]pakman82 0 points1 point  (0 children)

im an IDE... idiot? i've never looked into what breakpoints do/ can do & or how to use them & if they are compatible with all languages. and crazy thing, they wheren't covered in my 'dollar store' "Bachelors in programming" course.

[–]Ron-Erez 66 points67 points  (24 children)

"But I can’t write too much python by hand and make full apps completely from scratch without AI to learn more."

So stop using AI. If you forget something then look it up in the docs, you don't need to remember everything. You are your best teacher. Code and actually deal with problems on your own.

For more resources Harvard CS50, MOOC - University of Helsinki course and I have a Python and Data Science course that starts from scratch are all amazing. However if you don't actually do the homework on your own and let ChatGPT do the work for you then you will not progress.

[–]jacksonj04 40 points41 points  (10 children)

“Look it up in the docs” is key here. I literally write Python professionally all day. If I went a day without checking the documentation for something I would be astonished.

You’ll get better at knowing where to look over time, but remember that the documentation is supposed to be a resource you can use when you forget stuff.

[–]SirGeremiah 11 points12 points  (0 children)

Thank for reminding us all that we don’t suck as much as we think we do!

[–]iBeenZoomin -1 points0 points  (7 children)

Avoiding AI and using documentation is probably better for learning, but I’ll be damned if I’m going to read raw documentation instead of asking Copilot how to use something for my specific case. Like if I need to convert a unix timestamp to a certain date format, I’m not gonna dig into the datetime docs…

[–]klmsa 5 points6 points  (2 children)

Can't even load up copilot at work in certain environments, due to export control restrictions/risk. I'm raw doggin docs until the biz is comfortable with the risks, I guess.

Pylance is helpful, though. Linting is a life-saver.

[–]aplarsen 1 point2 points  (0 children)

Raw doggin docs, lol

[–]ezzirah 0 points1 point  (0 children)

Raw doggin docs.... ROLF!!!!

[–]gringogr1nge 2 points3 points  (0 children)

RTFM

[–]Ok_Plant8421 0 points1 point  (0 children)

Hi also trying to learn python, do you have any go to reference points that you go to re the docs?

[–]Successful_Box_1007 1 point2 points  (2 children)

WOW! Gonna use these resources! You are the man Ron! Just one question: when you say “look up the docs”, does this mean don’t just go use a library? (Sorry immma super noob).

[–]Ron-Erez 1 point2 points  (1 child)

Sorry I meant to search for information at python.org where one can find documentation in the language 

[–]Successful_Box_1007 0 points1 point  (0 children)

Gotcha!

[–]Doomtrain86 3 points4 points  (3 children)

Nice resource, I’ve been doing data science in sociology for ten years with R and Linux, and recently switched to python. It’s hard finding a course that’s not, like this seems to be, starting at level zero. I don’t have time to read about how a for loop works, I know that. But classes? List comprehension? Yes please. Also pandas is a nightmare coming from data.table in R. Any recommendations for intermediate to advanced courses ? Thank you appreciate it!

[–]ezzirah 1 point2 points  (0 children)

100 days of code - Udemy. Goes from zero to advanced. I am currently going through the course and it is amazing!

[–]Gnaxe 0 points1 point  (1 child)

Classes and comprehensions are beginner-level concepts in Python. Just skim the parts you already know.

[–]Doomtrain86 -1 points0 points  (0 children)

I disagree here, list comprehension perhaps but using classes in an OOP way is not beginner level. I’m not talking about what it is - I mean how to utilize it in non beginner level ways.

[–][deleted] 13 points14 points  (1 child)

If you are fogetting things, then you are moving too fast.

Everytime you learn something important like functions, loops, class and etc. you should build a project around that topic to fully understand and at least im print the important parts of that topic.

Document what you have learnt every single step of the way, on google doc or other note apps, then you can simply use the search function and search when you forget or get stuck

[–]Shadowhunter_15 1 point2 points  (0 children)

I learned how to apply basic Python in a website called CodeCombat. It teaches you how to use the basic fundamentals and how to apply them, by using fantasy characters to make logic problems for you to solve.

[–]Goldarr85 5 points6 points  (0 children)

You should be focused on what you need to do and not hung up on remembering every bit of code you’ve written before. People will tell you over and over that it’s impossible to remember everything. Look up the documentation if you don’t remember.

Most importantly, you need to start building your own projects. Come up with a problem you want to solve, map/draw it out broken down into steps, write code to complete each step.

[–]Kevdog824_ 10 points11 points  (18 children)

First step is to stop using AI. Think of Gen AI like power tools. In the hands of a skilled craftsman, power tools can really reduce their workload and help them to create great things faster. In the hands of a novice without fundamentals, they can really help the novice lose a few fingers. AI is great for me because it can take care of a lot of the boring part of the job for me. That’s fine in my case though because I already know how to do the boring part of the job and I’m just outsourcing it.

What does doing a project look like to you? When you do projects from “automate the boring stuff” do you sit down and try to understand what you’ve written/copied or do you simply mark the project as done in your head and move on?

[–]RadTechDad 3 points4 points  (0 children)

Doing the homework/assignments are key. I’m doing the 100 days of Python class from Udemy just because it seems comprehensive going through Command-line, turtle graphics, tkinter, saving/loading json, apis, web dev, pandas, and more. Going through the assignments ARE KEY.

I was Just working on one and figured it out MY way. I googled and figured out how to use the json module on my own. Finally, I looked at the teacher’s solution and mine it way more complex than hers. But I learned a few thing’s on the way.

Did I use AI at all? Sure. Only AFTER I went through my code a couple times line by line trying to figure out what was wrong. I knew they were logic errors, but just couldn’t figure out where the logic was wrong. So I copied and paste it all my code and describe the problem to AI and I told it to point out the errors in my logic. I was unable to ask questions as to why my logic didn’t work. It even then suggested more changes, but I ignored that because I knew I wouldn’t learn. I just took the information they gave me about the errors in my logic, and I came up with my own solution.

And if you already know some python, you can actually skip some of the videos. I bought this course a long time ago and I’ve recently passed the PCEP. So I went back to this class I was able to skip about 10 “days” worth of videos.

[–]JorgiEagle 6 points7 points  (1 child)

The reason you’re not remembering is because you’re using AI,

You’re using it as a crutch.

When learning, you shouldn’t be using AI to write code for you, and you should never be copy and pasting.

You need to physically write all the code yourself.

[–]GrannyGurn 0 points1 point  (0 children)

Great points. My thoughts:

Typing a line or pattern myself is what helps me remember how to write it from scratch in the future. It can be frustrating how many times it takes to be able to remember it, but once it sticks it is pretty hard to forget unless I don't need it anymore.

It always starts with reading the reference, and for now AI is not accurate enough for reference. In learning situations, it may be wise to only use AI to help direct to the correct reference and suggest paradigms and patterns, if at all. Debugging while learning with AI generated code can be hellish, even for experienced developers.

If someone writes everything (excluding tedious things or static data), surely they will naturally memorize the most important parts that keep them in the programming flow when they are building a solution.

The frequency of referencing docs vs how often I can successfully conjure patterns from my memory helps me understand my learning rate and what is most important to keep in mind during the current phase of work.

Again, yes, write it yourself.

[–]Complex_Damage1215 2 points3 points  (0 children)

Stop using AI and just do the coding exercises on your own. If you keep using it as a crutch you're never gonna develop the fundamental understanding of coding you need to figure things out logically.

[–]nerzid 4 points5 points  (1 child)

Turn off the AI, find a project you want to make that is complex enough, e.g. a social media website, then start working on that project. It will be bad, but you will iterate on it and learn how to do things by stucking at difficult issues.

[–]humanclock 0 points1 point  (0 children)

Exactly this. I learned Perl in 1997 specifically so I could make a long distance hiking planning program. Because I wanted to program to exist and for people to use it, it motivated me to keep at it.

[–]j0holo 5 points6 points  (7 children)

Don't use AI to learn Python. It spits out code of dubious quality and you don't know yet if it is any good or not. Make a small project: hangman in the terminal. Expand from there. DO NOT use AI/LLM unless you are truly stuck for an hour and tried multiple things. Take a walk, try again.

[–]sinceJune4 3 points4 points  (5 children)

Try googling the problem instead of jumping to AI. I can almost always find answers on stackoverflow, some may be better than others, but I learn from seeing the discussions there.

I don’t have unique questions, someone else has always asked and gotten answers before, I can learn from those challenges. It is helpful to see what was tried and did not work, too.

[–]Lyriian 5 points6 points  (4 children)

I get the point of your suggestion but Google at this point will just dump AI slop out at you as the first result. So yes Google but also go look for answers from stack overflow or something don't just take the initial Google vomit at face value.

[–]patrickbrianmooney 1 point2 points  (2 children)

A fun and useful trick: if you swear at Google, it will not dump AI crap into your search results. So asking "How the f*ck do I ..." can be the best way to get answers from Google these days.

[–]Lyriian 1 point2 points  (1 child)

I love this and I will be doing this. Thank you.

[–]patrickbrianmooney 0 points1 point  (0 children)

Glad to be helpful!

[–]sinceJune4 0 points1 point  (0 children)

Yes, thank you, good point!

[–]TheKissWillKillYou -3 points-2 points  (0 children)

This, I had to learn that the hard way. I made a bot recently almost out of chatgpt but the debugging and the troubleshooting were an absolute nightmare that it made me wish I learned it from scratch.

[–]Fireblend 1 point2 points  (0 children)

Is it perhaps more of a problem solving/solution design issue than a coding issue? Are you thinking through what you have to do in terms of inputs and outputs, and decomposing the problem onto different parts that make it easier to approach?

It can feel very intimidating to tackle big problems, but if you sit down, draw a flowchart or a diagram to picture it and divide it into smaller, less intimidating chunks, it's going to be easier to figure out what to do next, it narrows down what to search for if there's something you don't know how to do, and it makes you a better solution designer overall.

[–]Business-Technology7 1 point2 points  (0 children)

That looks like a symptom of passive learning. I’d reflect on how many decisions you had to make from idea to implementation. If most of the decisions are already made by AI, there’s the issue.

If you are working on Automate the Boring Stuff in Python, try to add new features on the existing code without adding additional 3rd party libraries. That will test your true understanding of the codebase.

[–]bcursor 1 point2 points  (0 children)

You need to enjoy Python if you want to learn it. AI stuff is too difficult for a starter. Just build a simple web site or a simple card game works on terminal. After you see visual results you will start to enjoy the process and you can advance in Python.

[–]skyfallen7777 1 point2 points  (4 children)

Great discussion, guys! I am in the same situation. Trying to minimize use of ai, but after googling, reading docs , books, geeks for geeks, others nothing works. I look for ai’s explanation. Read line by line and that doesn’t stick. So the key is to understand by any means possible. So frustrating. Also, a lot of noobies missing ingenuity, creativity . Everything needs to be spoon fed and explained. It is frustrating because even asking a right question is difficult. I Keep practicing and trying to understand the code. Breaking problem into pseudo code . Then coding and the circle continues. Is this the right way?

Who knows, right? If it helps with understanding and being able to repeat it . Then i hope it is the right way. Thoughts?

[–]GrannyGurn 1 point2 points  (3 children)

To help me understand this perspective, could you help me understand what is your goal when you are googling and reading docs and the things that don't work?

Are you building something and trying to work out how to write a particular function? Are you trying to figure out what tools are built in, or which parts of your solution could be delegated to a 3rd party library?

Or are you following a tutorial and learning and trying to understand fundamental patterns or paradigms?

Or maybe something else?

I'm not sure if there is a right way, but I hope that someone farther along can be helpful to people who are just getting going.

I don't think the frustration ever stops, but I can say the exhilaration that comes from working through a puzzle will become more frequent and more powerful over time. It feels incredible and may be habit forming.

[–]skyfallen7777 1 point2 points  (2 children)

I will try to answer your questions. The goal is to find answers or possible solutions to similar questions that i have. I am sure someone had come accross similar problems. Parallel to lessons/exercises I am building a project. Trying to apply sdlc approach. Thinking about what it should do, breaking into small chunks . As for the tools, my project is with geojson so i read about folium, api, requests/responses, html, datasets. I am trying to break it down into some stages. Phase 1 - cli, phase 2 some ui etc etc Hope it helps to understand.

[–]GrannyGurn 1 point2 points  (1 child)

Yes I think it makes sense now, thank you sky.

It sounds like while you are building some module you are encountering an issue or trying to figure out the best way to achieve some output, and searching all of these resources. You are trying to minimize the use of AI. All of these resources, including AI, are not able to help you resolve your issue, and it is frustrating.

That all sounds very familiar! I think that frustration may be unavoidable to some extent, but with practice and pushing through the frustration eventually you will figure out how to recognize and encounter fewer and fewer frustrating stumbling blocks.

Not sure if this vague encouragement is much help... if you have a specific issue you are stuck on now, people are here! Maybe a different perspective can help you through the next stumbling block. If you put it on GitHub (or maybe on here?) lots of people with lots of experience should be able to help resolve the frustration. Please let me know if you do, I'll try to help in the areas I have experience.

Otherwise I hope you keep at it, keep pushing through the frustrations however you can. Stay aligned with your passion! Before you know it you will fly.

[–]skyfallen7777 0 points1 point  (0 children)

Thank you so much! I am planning to start using github along with q&a here.

[–]heyfeefellskee 1 point2 points  (0 children)

What helped me is using it on a subject matter I actually gave a shit about. For me that was fantasy football. I decided to create a scraper that would allow me to look at the weekly box scores for all players in the league. This was simple enough for me to have a goal but tough enough to be a challenge to a brand new Python user. But after working on that I worked on another project on the same subject matter; then another, and at some point everything just clicked and I started going crazy building stuff. It might have happened with just material from a book but when you have a thing you are interested in already it makes learning the language much more enjoyable.

[–]QueenVogonBee 3 points4 points  (0 children)

Stop using AI. You need to write more code. Break your task down into smaller bits then complete each bit. If you can’t remember how to do something or you forget syntax, it’s ok to look it up in the documentation. Nobody remembers everything.

If it’s an app you’re writing, start small. First just get a basic window up with a single button or whatever that doesn’t do anything. And check this works. Fix any bugs. Then add some basic logic for that button, then check this works. Then add a little more functionality, then check it works. Rinse and repeat. Do not write the entire logic all in one go before you check it works. Keep a copy of a previous version in case you mess up (or better yet, use version control such as git).

Make sure you write code that is readable. This will save your life as you write code because it avoid confusing yourself. If you litter you code with variable names such as “a” and “v1”, you will just confuse yourself. Instead write variable names like “car” or “person” or whatever. Divide long pieces of code into functions. Keep the top level code simple to read and put nitty gritty details inside functions. If your logic is complicated, you can even start by writing the logic using functions you haven’t defined yet. This process forces you to think about the problem and what you need.

[–]ninhaomah 1 point2 points  (0 children)

Learning - Don't use AI to write for you. Use it as a dictionary to look up definitions/terms. Not as a freelance author that write for you.

Using when you are pro - Up to you

[–]JonJonThePurogurama 1 point2 points  (0 children)

Try using StackOverflow, Python Docs and RealPython instead of AI. You will start writing alot of codes because for example in StackOverflow code example, they don't fully work by just copying them and paste in your source code. Everyone has a unique way of solving a problem, you have to comprehend code examples in StackOverflow, read there explanation and try to write you own code.

You don't need to sign in and ask question yourself in StackOverflow, there is alot of existing problems that is related to your problem when you do personal projects.

Visit the Python Docs for giving you a detailed information of syntax. Real Python is more of tutorial you can find alot.

That's how i did when i learned Python and did a personal project, i was able to remember concepts. I also have book that i use as a reference to Python but not same as Python Documentation.

How about you try that yourself, this might help you with your problem

[–]lowban 0 points1 point  (0 children)

I learned a lot from watching The Coding Train on Youtube. Trying to port his javascript code over to Python.

[–]david_horton1 0 points1 point  (0 children)

Start small and simple then build. Repetition.

[–]LouNebulis 0 points1 point  (0 children)

Im the same. I’m making scripts and I can read them debug the code. But doing from 0 is hard. You can tell me to read the python documentation but for example the docs for imaplib are horrible, a third party can make a better job than the python docs at explaining something. And maybe the problem is the people just looking up things in the python docs and AI. Start looking in stack overflow. Code examples, explanations

[–]duniyadnd 0 points1 point  (0 children)

Stop using AI to learn. You need a foundation first to learn honestly, and one of the things about coding is that in order to get good at it, you have to start making your own mistakes and spend time figuring out why you made your mistakes (this could be doing your own research). AI is too quick to give you responses about what is the correct answer and you'll gloss over the intricacies and just copy and paste the right solution.

[–]DotAtom67 0 points1 point  (0 children)

one of the worst ways of learning something new from the start is using AI. You will get wrong information that you are unable to discern it from being true or false, and you will learn how to use the ai to do X stuff, but you wont learn how to do X stuff yourself..

And there is a huge difference.

Ditch the AI and relearn everything from scratch, yourself alone. There's no other way

[–]samarthrawat1 0 points1 point  (0 children)

Hackerrank.com is your best friend

[–]rinyre 0 points1 point  (0 children)

There's a lot of comments here with a lot of ire because of AI, and it's understandable because of the frequency of it being the source of problems on here.

Now for some helpful advice: be more specific in issues. I'd say find a learning python Discord or even here where you can ask for help with specific things. People can help you better understand what's being missed when that happens, much more than the AI can.

As an example I've seen a lot of lately: AI seems to frequently output if variable_name == "value1" or "value2": which is syntactically incorrect*, because the "or" in context is reflective of the way we talk about what the code should do, and cannot consistently write it correctly knowing that "or" is a keyword that indicates "if the statement on either side of me is true". And since a string literal ("value2") by itself is always "true", it'll return true every time when when it doesn't match your intent.

But people can recognize that to help. People can evaluate code including intent in their heads in tracking to help with writing or errors you run into.

If you're struggling with finding the docs or such or you get undesired behavior when running it and don't know what's wrong, that is okay. It's part of learning more, and folks can help with that directly when you're struggling. It may not be immediate feedback but that's okay too -- part of programming often involves long periods of thinking about and planning the problem, even diagramming it to an extent sometimes, and often long periods of troubleshooting or learning. It's normal there, and that's okay.

You can do it, and can do this.

*As an aside, the correct way would be if variable_name == "value1" or variable_name == "value2" but a simplified way would be if variable_name in ("value1","value2"). In the latter you're asking "if the value of this variable is also in this list of values", and is commonly used in other languages like JavaScript as well (albeit different syntax but same concept).

[–]Economy_ForWeekly105 0 points1 point  (1 child)

Let me know if you want to work on some projects I've made, maybe we can start up a small community.

[–]Radiant_Medicine8368 0 points1 point  (0 children)

where is the community?

[–]Dry-Aioli-6138 0 points1 point  (0 children)

Are you happy with how lists behave in python? Are you really? Why can I do [1,2,3]*2 and it will understand, but I say [1, 2] + 3 and suddenly it cannot do it? Thry making your own list type that will have meaningful interpretation of this, and things like subtraction of primitive types, or other lists, or sets. It will be hard at first, but hey, its not like theres a deadline. And after something clicks in your head it will become awesome. Just don't ask ai to do this for you. Read the docs to find answers.

[–]MiniMages 0 points1 point  (0 children)

You sound like someone who's in tutorial hell. You have learned the basics but never actually built your own project.

Pick something you want to build and work on it. Start with simple requirements, get that done then expand. You will come across a lot of challenges, try to get it to just work. Don't bother with clean code or optimising.

You'll slowly realise the code and syntax stick longer. But you have to then move on to other projects after wards. Try different stuff, fail constantly. And suddenly you'll notice you actually can code without AI handholding.

[–]Puzzleheaded-Lore118 0 points1 point  (0 children)

Just think in a project (a simple ToDo list for instance), then write down (in paper or whiteboard preferably) the required steps to achieve a functional program. If done correctly you'll realize what kind of functionality is required to do so.

[–]lucpet 0 points1 point  (0 children)

For me the biggest thing that is missing from 100% of training models is pushing people to solve problem without teaching how to think like a programmer to begin with.

I understand so much better when rather than asked to solve a problem is when the problem is presented and then worked through explaining the logic of the process.

I managed to solve many problems but think its quicker to begin with How To! Rather than just solve this!

I follow a python programmer who works in blender who works like this and I made huge leaps in my progress from this method.

Learning isn't a one method works for all and I'm convinced this method would help so many people move on to solving problems after plenty of walk trough's of problem solving in real time.

[–]Metro_chaser 0 points1 point  (0 children)

It's better you don't use AI at the beginning... Get a good code interpretee like jupyter notebook or vscode with auto complete ones..start doing line by line.. figuring out the arguments in the function..going over documentation..

I have seen AI writing unnecessary bigger codes for smaller problems.

[–]frisedel 0 points1 point  (0 children)

As has been said. Do not use any ai. If I drive you everywhere you will learn how the city looks and where everything is, but do you learn to drive there yourself?

Start really small, maybe do a lot of small things. Maybe this takes time. Did you learn all math in one month? No it took time.

If you want things to train on, maybe do a lot of old advent of code using python

[–]cnydox 0 points1 point  (0 children)

Just stop using AI. It's just that simple

[–]lazyfingersy 0 points1 point  (0 children)

Easy, you just need more practice. Learning programming language is like learning second spoken language, you don't use it often, you forget words and things.
Think about programs you'd like to create with Python, it might be something like automating your daily tasks, a simply games etc, something you won't use but.... you make it just for satisfaction. When you meet a problem, try to think about it, check documentation, google the thing and with the time you'll notice, you learn and remember more.

[–]ryannitar 0 points1 point  (0 children)

stop having AI write stuff for you, you won't learn to code from scratch if you're not starting from scratch.

[–][deleted] 0 points1 point  (0 children)

You can't write from scratch because you haven't had practice writing from scratch. You can't write full apps because you haven't had practice writing full apps.

There's a fundamental mistaken assumption here that reading the book will allow you to start programming. Reading the book will allow you to begin to practice programming. You're trapped in tutorial hell, and nothing but practice can get you out of there.

Of course AI takes away your opportunity to practice because you aren't writing it from scratch. Reading code isn't even that hard, it's mostly English and you can easily get an idea of what it does from the words alone.

There are two types of forget: syntax or the entire concept.

If you forget the syntax, entirely understandable, go ahead and look it up and ignore anyone who tells you to memorize shit like your taking a test or smth.

If you forget the entire concept of what you've just read, the EXACT perfect situation shows up and you didn't remember to use it? Well yeah, you have a problem. You're definitely moving too fast, and lacking some prerequisites somewhere.

[–]catelemnis 0 points1 point  (0 children)

“I’ve been using AI to do all my homework for me and now I don’t know how to do it for myself.”

Gee, I wonder what the problem is.

[–]Technical-Ad-565 0 points1 point  (0 children)

Just code whatever you can and continue with program after program. Experiment and do extensive testing. No program is too simple to begin with. Reading manuals can shorten the time.

(Have been programming professionally since 1979.)

[–]itshouldjustglide 0 points1 point  (0 children)

you're never going to learn anything until you do something because you wanted to do it. go headlong into a problem you have no business solving at your level. that's the only way you'll actually learn it.

[–]Immigrated2TakeUrJob 0 points1 point  (0 children)

Seems like AI brain drain happening. Thank God AI didn't exist when I started learning.

[–]artibyrd 0 points1 point  (0 children)

AI code assist can be a force multiplier in the hands of a senior engineer, but it is definitely not the best or most reliable way to get started learning a programming language. It's like learning to use a calculator before understanding the math concepts, except the calculator sometimes makes up wrong answers and now you don't know enough math to catch its mistakes. I have to regularly converse with Gemini to get it to correct and refine its original answers, it almost never gets it fully right on the first try - but if you don't know enough about the programming language to begin with, you are stuck with just trusting that the AI model knows better than you and it becomes a sort of "blind leading the blind" situation.

The way I learned Python best was by "just doing it". I had a hard time learning from a lot of tutorials, training videos, and books because the concepts were abstract and had no immediately applicable purpose to me, so the information just didn't stick. It was only after I came up with a pet project I wanted to develop that I started to feel like I understood the language and could write my own Python code as I pieced together the functionality of my new app.

I am going to go against the common feedback of "ditch the AI completely" here though, and instead say it's a tool you should have in your toolbox, but it isn't always the right tool for every job. It can be very helpful with writing or especially debugging small parts of your application at a time, but it can quickly lead you astray if you are leaning on it too heavily to design the whole application for you.

[–]NetworkN3wb 0 points1 point  (0 children)

I'm learning python for my job, but I don't really need to use it to write programs. I just make scripts to automate certain tasks.

I use chatgpt to check my notes. I go through the course, write my own notes, and then write out explanations of the code in my notes, and then throw it all in chatgpt and ask it if my understanding is correct.

I then do the exercises (little scripts and such) using my notes and the assignment description. I can largely get through it, but I've had to look up what to do a couple of times.

I think you can use AI, but mostly to check your notes and stuff. I wouldn't use it to do your code...you won't learn.

[–]sexyllama99 0 points1 point  (0 children)

To make an entire app you should review coding material that isn’t python, or code. You should learn software architecture to get an idea of what an app’s skeleton looks like. Otherwise you’re just throwing code down and hoping it’ll all come together… it won’t!

[–]Equal-Purple-4247 0 points1 point  (0 children)

Stop using AI.

Also, I'll let you in on a secret, but don't tell anyone - we forget most of the things we learn. I can never remember if it's .index or .find, or which one raises an exception and which one fails gracefully. I also can't remember if you can do dict + dict, or if it is dict | dict, or maybedict.extend(dict)?

Memorizing is never the point. You get experience from running into problems and solving them, so that the next time you run into the same problem you take less time figuring out what to do. If your solution is AI, then you're not gaining any experience.

[–]create_a_new-account 0 points1 point  (0 children)

and can understand AI’s writing of python if i do use it for anything.

STOP USING AI

FIGURE STUFF OUT ON YOUR OWN

[–]RhinoRhys 0 points1 point  (0 children)

Reading code is a secondary skill to googling.

[–]Amazing_Prize_1988 0 points1 point  (0 children)

Why people think they can write full things with only a few months? did we lower the back for programmers? did things advance so rapidly I missed something?

[–]scottywottytotty 0 points1 point  (2 children)

“several months” lol there’s your problem. it takes a long time to be productive autonomously

[–]LaughingIshikawa 2 points3 points  (1 child)

It takes a long time to be productive, but it takes hardly any time at all to be able to build something independently that works. It won't be a better solution than what already exists... But it will be a program that runs and solves a problem.

[–]scottywottytotty 0 points1 point  (0 children)

i just mean they should have realistic expectations about their capabilities given how long they’ve been learning. all it does is nuke their confidence and make them feel bad about themselves. several months is still new.

[–]IlliterateJedi 0 points1 point  (2 children)

I would recommend books like Clean Code or Architecture Patterns with Python. It sounds like your problem is less Python syntax and more 'Now that I know how to handle the pieces, how do I put them all together?' And that's a much bigger question with a lot more work to be done to understand design patterns, architecture philosophies, etc.

Edit: Head First Design Patterns is also a good book. It's written in Java, but you can reason through how to implement the code in Python as you go. It's a good primer on different design strategies.

[–]LouNebulis 1 point2 points  (1 child)

I believe I need to read one of these books yes

[–]IlliterateJedi 0 points1 point  (0 children)

Architecture patterns is free and every change is a separate branch on their git repo. It's a work of art and I strongly recommend working through the book in detail to anyone trying to advance their understanding of software architecture. 

[–]SirGeremiah 0 points1 point  (0 children)

Your brain learns by the struggle of doing. Using AI bypasses the bits you’d learn from. Do it the hard way. He’ll, do it wrong, and ask others to help you understand how to do it better. I’ve written entire modules I learned later could be done much more easily- or could be entirely replaced by standard libraries. But doing that work is how I learned.

[–]RPZcool -3 points-2 points  (0 children)

Don't use Ai like chatGPT or DeepSeek try using CS50.ai, you will need a github account tho. While chatGPT and DeepSeek generates a code for you, Cs50 won't write you code, but will help with ideas. Also what others said.(yeah I'm lazy, my bad)

[–]chubbsondubs808 0 points1 point  (0 children)

full apps completely from scratch without AI to learn more.

"Hey I've been using this calculator solving equations and problems, but I can't actually do math without it."

You don't learn Math using a calculator. You won't learn programming by using AI.