This just my random thoughts about the never ending battle between FP and OOP developers.
One claiming the purity , others claim for clarity.
Why it so difficult to understand each other?
FP folks saying we don't like mutation our data structure's are clean and are functions are "pure" usage.
OOP folks saying we don't like FP , because FP doesn't have way to manage states and rely on external dependencies und in OOP you can have internal clean way to keep states trough various design patterns.
FP folks dont like that OOP done wrong create a mess , where you confront by the side effect at run time and most times spent time for debugging such issue.
OOP folks don't like that in FP you have for some problem pretty big templates of class dependencies.
I will not write here code examples, because i think it is good speak about the mindset and the prejudice , that one programming paradigm better then other.
In my opinion both paradigms, are valuable in FP i can be very efficient in object creation and utilization and in OOP i can crean pretty complex behavior and let FP handle the borders of the give problem.
Bottom line: there is no silver bullet, you as developer and or future developer need to take time and analyse the given problem and use the proper tool for solving such problem, some people need to make mistakes to understand such simple truth's, but really we should be smarter than that und use google search first and think.
If you can't decide what to choose , do small prototype and compare the time of creation of such prototype.
If you stuck in legacy project and have to choose what to use FP or OOP, i say speak with your team members first, if they feel better with one of the programming paradigms than its obvious what to do!
I you push your programming paradigm without majority backing, you only seek for problem and probably making bad job and stack and overwork!
Do you need help or you company let your team members to overwork, lets speak about!
Orlovsky Consulting GbR www.javaprofide.de