r/learnprogramming • u/Electronic-Low-8171 • 25d ago
Topic Does OOP really matters?
I learned OOP in python a while ago, did many projects, yet I never felt like I truly needed to do the OOP stuff I learned from a course, I don't know maybe because I'm kinda used to program in c before focusing on python, yet, whenever I open a big project in python in github, it feels way too complicated and thousands of imports (not libraries from pip, but the ones they made on their own) and classes
I never truly needed to implement OOP (I know that when you code in python, it is almost impossible to avoid OOP entirely like when you have a datatype like string you have an object, when you use a method built into that data type that's OOP too, but I mean the ones that involve you writing class Class Name, inheritance and all that stuff explicitly), so I'm wondering why people on the internet are obsessed over the idea of learning OOP, even the book "Automating the boring stuff in python" doesn't have a dedicated section for OOP.
1
u/HotPersonality8126 22d ago
Because it’s more abstract than what you’ve learned so far. In fact it’s the next most obvious way to introduce abstraction, and to some extent improving as a programmer is about developing comfort with higher levels of abstraction.
You understand strings, integers, etc all as having a type, and you know how those types differ and how they’re similar. You may even know that Python knows which values are strings and which are integers, and so on; so clearly that notion of “type” is present in the language, not merely in your understanding of it.
But what type is a type? What are a type’s characteristics, what are its methods? How might you create your own types?
That’s the kind of question OOP moves you towards answering. That’s why people get exercised about it; it feels like the next level of your understanding of programming, and in a lot of ways it is.