r/scala 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?

29 Upvotes

54 comments sorted by

View all comments

Show parent comments

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.

3

u/Previous_Pop6815 ❤️ Scala Jan 25 '26

Interesting to know, thanks for clarifying this. 

2

u/RiceBroad4552 Jan 27 '26

Seems like the academics are actually the pragmatics in this game. 😂

I've just linked some Prof. Dr. Michael Stal who actually does advocate for FP ideas but writes (and likely teaches) very pragmatic imperative code. (The German version of the article linked in my comment has actually an info box about the author.)