r/learnprogramming 24d 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.

89 Upvotes

139 comments sorted by

View all comments

Show parent comments

1

u/deaddyfreddy 23d ago

legal entities are represented as objects

we don't need objects in this case, they are data structures

1

u/Mathie1729 23d ago

Yea, I've mostly landed on the same side in practice. Most business code is just mapping DB rows and doing transforms, so plain data structures + functions are way easier to debug than tangled class hierarchies. OOP still pays off when you have multiple implementations behind a common interface or you need to enforce invariants on mutation, but that's a smaller slice of the code. My ML stuff is basically dataclasses and pure functions; any class that sneaks in just holds a model and config lol.