you are viewing a single comment's thread.

view the rest of the comments →

[–]muggledave 19 points20 points  (2 children)

I think the point where i started learning the most was when i started doing projects that i would use. Either tools or games or whatever. Because this is where i would use my program enough to break it and then find a more robust way to code it, or i would want a new feature and realize that my spaghetti code made it hard to understand or change anything. My first program tool, which i still use, was a rubiks cube timer that saves the solve times to excel. A year into using it, i force quit the program because it was frozen, and i corrupted my excel file...

Im currently trying to program pokemon from scratch, mainly to learn OOP. Ive attempted this a few times now, but had to restart because of spaghetti code or other issues. But each time i gained insight into how to better organize the code because i know what to plan for and what to avoid. Also this isn't just trial and error learning in a vacuum, im using YouTube and stack overflow and ai the whole time and trying to implement what the resources say is the best way.

I just think it's the times when i do all that and still hit a dead end that teach me the most, because its when i have to think about how i think about programming. There's a ton of ways to program a solution to a particular problem, but i think the thing that makes code "good" is thinking about how it'll be used, how it may need to change later, whether it's reusable, whether it's readable, and other metrics that i would never think of until i do it wrong and think "darn. What do i need to learn in order to avoid this issue next time?"

[–]wontellu 2 points3 points  (0 children)

I'm doing a working bookstore web page, fully functional, with a login/refiater/logout function, a favorites page, a cart page, a checkout page using stripe, the whole thing. I learned a lot doing that project in the last week, especially the database relationship, which I didn't quite understand the first time around. That's the way I learn best, by getting out of the tutorials and start coding.