Conversation

Someone asked me to share my take on this, so here's my completely baseless speculation on why this is: It's because far more people learn FP as their SECOND paradigm instead of their first or third. (I'm not counting OOP as a "paradigm" here)
Quote Tweet
What is it with functional programmers and the belief that if we just had the right computing paradigm everything would be orders of magnitude easier
4
47
The first paradigm you learn defines the "mainstream normal" to you. Because Everything Is Tradeoffs, you are gonna get frustrated with the mainstream paradigm. Then you learn paradigm two, which fixes a lot of issues with the first one. Which is AMAZING.
3
11
This is what sorta happened to me after learning SML having only programmed in stuff like C, Java, Matlab, Visual Basic... I got that feeling of SUDDEN UNBRIDLED POWER. Natch the new paradigm has issues the first one doesn't, but who cares look you've got map and optionals
2
9
And you want to share the magic with everybody, because things can be so much better! Of course once you're in paradigm 2 it's a lot easier to dismiss innovations in paradigm 1, so it's harder to rebalance. Blub paradox goes both ways!
2
12
I think it's easy to remain an evangelist for your second paradigm, beause- again- you have this knowledge of how things can be different. The best ways to break that, IMO, is to either seriously reapproach the first paradigm with fresh eyes, or learn a third paradigm.
1
13
Something that breaks the conception that there's one Good Way and one Bad Way. Something that either reorients yourself towards thinking about tradeoffs or something that makes you think languages aren't all that different in the end.
2
8
One supporting anecdote is I've seen a few Haskell programmers who talk about how much better FP is than IP get super into Rust Anecdote two: people who know 3 or more paradigms start identifying as polyglots instead of FPers Neither is conclusive evidence, of course
6
22
Rust is my most heavily used language (came to it via Processing, Java, then D), and tbh I find FP prettier most of the time, and would like a more 'functional Rust' with types more like Idris/Coq/Agda.
1
1
But even then I know there's a huge amount of pros and cons in the design space. And it's handy to be mix in imperative code in your FP language. That's why haskell has it's `do` thingo.
1
At this point I want all of that but with a decent environment and IDE (read: not Vim/Emacs with LSP). But yeah, I stopped calling myself an FPer a long time ago.
2
4
Replying to and
You should spend almost 0 time looking stuff up, playing type tetris, figuring out why some types couldn't unify or using grep for anything. That's my paradigm, env. oriented programming? idk.
1
1
Show replies