this post was submitted on 06 Oct 2025
75 points (95.2% liked)
Programming
23042 readers
239 users here now
Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!
Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.
Hope you enjoy the instance!
Rules
Rules
- Follow the programming.dev instance rules
- Keep content related to programming in some way
- If you're posting long videos try to add in some form of tldr for those who don't want to watch videos
Wormhole
Follow the wormhole through a path of communities !webdev@programming.dev
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Repetition doesn't improve programming in many situations. Even when you get stuck. I could write a bunch of nested if statements every single day, and If they work, I wouldn't get stuck and ever learn that there can be better ways to do it in many cases.
Especially for people like me, who self-learned and didn't take any courses, I simply don't know what I don't know.
Everything from O notation to Object oriented programming is abstract in a way that you can't accidentally learn it. I had to find these concepts and learn them, and not because I got stuck.
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.
Time and space complexity can become very prevalent, you can quite literally see it from the runtimes. Unlike OOP, which in many cases (Java excluded), you can get away without ever writing it.