I have heard this time and again and I am trying to understand and validate the idea that FP and OO are orthogonal.
First of all, what does it mean for 2 concepts to be orthogonal ?
FP encourages immutability and purity as much as possible. and OO seems like something that is built for state and mutation(a slightly organized version of imperative programming?). And I do realize that objects can be immutable. But OO seems to imply state/change to me.
They seem like opposites. Does that meant they are orthogonal ?
A language like Scala makes it easy to do OO and FP both, does this affect the orthogonality of the 2 methods ?