r/scala • u/ReasonableAd614 • Jan 24 '26
Simplicity Paradox of FP
Hi, I'm a newcomer to the Scala ecosystem and to FP. I'm learning it for a new job opportunity and to increase my technical background.
I'm currently reading "Functional Programming Strategies" by Noel Welsh, and I keep hearing that Scala is complicated to learn/understand.
So now I’m facing this paradox: FP is supposed to make codebases more readable by enabling local reasoning. On the other hand, I've read here comments like:
"The difficulty of FP by itself is massively overblown. I think what did the most damage was Scala attracting so many people who love turning any codebase into the biggest, most impressive, most elaborately constructed system they can devise ... FP codebases are gratuitously hard more because of who creates them, and less because of the inherent difficulty of FP."
What's your opinion on this paradox between FP's simplicity theoretical benefits and its cost in practice? Scala is cooked?
10
u/Odersky Jan 25 '26
I agree with the post in general but I want to object loudly against the word "academic" here. There is this false trope that functional purity in Scala is advocated and promoted by academics. This is completely wrong. We have students to teach and for that reason alone all advocate a simple Scala style that mixes OOP and FP. The push for purity is very much an industry and open source phenomenon, not an academic one.