Now this article does a decent job of arguing why OOP is a problem...
https://medium.com/machine-words/the...g-d67078f970e2

I have found that the pure approach tends to take certain relatively straightforward programming exercises and turn them into puzzles, by which I mean clever, non-obvious tricks that amuse and appeal to the kind of person who enjoys brain teasers, but which is completely inscrutable to everyone else.

As a result, I tend to use FP where I think it makes sense, and in ways that I think that an average programmer reading my code will understand. If I am tempted to do anything clever, I’ll write a long comment explaining what I have done and how it works (which satisfies my need to show off — I often think programming should be a performing art.)

So object-oriented programming isn’t what it used to be. It’s still a great tool, and worth learning. But it has been knocked off of it’s pedestal, and you hardly ever see anyone advocating it with the kind of religious fervor that you might have seen twenty-five years ago.
And I agree with this sentiment... OOP isn't inherently bad... just like VB6 isn't inherently bad... it's the application of OOP that's gone wrong. I've seen object models that went 10+ levels deep... and were recursive! It was insane. And this was from a professional company too! When it comes to any design pattern or any development technique, you just have to take your queue from Kenny Rodger's the Gambler and "know when to hold 'em, know when to fold 'em. Know when to walk away, and know when to run."

-tg