So I’m an on/off noobie but have been focusing on actually sticking with programming what I’ve been working on is Python but this question is for programming in general. For me it’s hard but I want to see how I can get better
Like are these good ways to get good:
Follow tutorials, then work on ways of adding your own twists or changes? Or trying to code it in something else?
Work on assignments from a resource you’re using like in my case Python Crash Course and attempt to redo the assignments without looking back?
Experiment with multiple libraries and library methods or built in methods?
Please share any other ways especially ones that helped you
Also when would be good to start a new language after learning one
Well… At one point, these abstract concepts all did not exist. The first people to invent them did get stuck and had to invent them to do what they want.
Maybe you’ll never “learn O-notation” by yourself (why would you call it O?), but if your program is slow and you don’t know how to solve it, you are actually stuck, and need to think about why your program is slow. And eventually you might figure out that no, you don’t need to iterate over all of your entries times all of your entries, it might just be possible to iterate only over all of your entries. And now you have learned “O-notation” or that O(n²) is slower than O(n).
What I’m saying is, when people say repetition, they don’t mean “write if statements again and again” but “solve problems creatively again and again”. Many people have never learned creative problem solving, and so they’re stuck writing if after if.
If you had to re-invent everything that came before you, there would never be any progress.
Humans achieve progress by learning from other humans.
I actually learned O notation from an interview question for a job I applied for, I’d never actually had a program run too slowly before that.
That’s why I included “do research”. I absolutely agree that reinventing everything is not the way forward, but I also think it’s important to get stuck on a problem before looking up what the possible solutions are, because that is when you are in the best position to understand them and how / why they work to solve the problems.
If you write nested if after nested if, hopefully at some point you go “hold on, is there a better way?” And then you do research and learn. That is not to say that learning for knowledge’s sake is bad. It isn’t. In fact it’s great. But it might also be a bit dull to just follow tutorials and such.