There are some neat ways to combine the advantages of OOP and FP. Methods calling free functions, helper objects that never leave the scope of one method or function...
I think the mistake of early 90s was to equate OOP with good programming. It's just a tool, it's suitable for some things and not others.
You can take anything too far. I have seen separation of concerns taken too far. There were models and controllers tightly coupled with a big interface, where the separation was not adding anything of value. It's people designing things they way they "ought to be" without really considering the pros and cons given the problem at hand.
I think the mistake of early 90s was to equate OOP with good programming. It's just a tool, it's suitable for some things and not others.
You can take anything too far. I have seen separation of concerns taken too far. There were models and controllers tightly coupled with a big interface, where the separation was not adding anything of value. It's people designing things they way they "ought to be" without really considering the pros and cons given the problem at hand.