3 ms·
> I have always struggled with OOP Said every one, I think this is the main reason. In theory OOP is supposed to make it easier to do separation of concerns in
by dangerface 7y ago
> I have always struggled with OOP
Said every one, I think this is the main reason.
In theory OOP is supposed to make it easier to do separation of concerns in reality separation of concerns is really hard and adding some syntax sugar didn't help.
It's hard to create an abstraction that isn't overboard or so specific it's not an abstraction.
It's hard to separate concerns if you just inherit those concerns.
Testing OOP inheritance is awkward so most people don't and use dependancy injected instead which kinda breaks the whole point of inheritance and OOP.
OOP makes it look like you have separated concerns but in reality you where concerned with the wrong thing (most likely nouns) and spread the real concern throughout the whole project.
I think the old school OOP of Classes is dead and the newer Traits and Object composition will take over, or functional programming which is very Gucci at the moment.