4 ms·
> OOP can lead to overly complex code, uneeeded abstractions and design patterns thrown on top of each other for no good reason. All programming paradigms can
by hota_mazi 4y ago
> OOP can lead to overly complex code, uneeeded abstractions and design patterns thrown on top of each other for no good reason.
All programming paradigms can do that, you are not making any particularly salient point about OOP here.
OOP doesn't mean that everything needs to be an object, but inheritance and shared behaviors are concepts that map neatly between the real world and the programming world, which is why OOP has been such a resounding success.
We have refined this approach now (e.g. using delegation over inheritance), but these basic concepts of shared behavior and reuse remain.