3 ms·
I don't see FP (and I mean pure FP style) as the underdog. I think the FP community tend to blame FP's repeated failure to reach mainstream on either developers
by cryptica 7y ago
I don't see FP (and I mean pure FP style) as the underdog. I think the FP community tend to blame FP's repeated failure to reach mainstream on either developers' stubbornness or FP's poor implementation in many languages.
The way I see it however, is that FP has had plenty of attention and plenty of opportunities to go mainstream but it failed to do so simply because it's not as effective as imperative programming when it comes to building most real-world software.
It's not like the market doesn't know. Every developer on the planet knows what FP is and knows all the benefits. Some imperative languages like JavaScript have even adopted some aspects of FP for certain use cases (some aspects of the front end UI related to dynamic templates; e.g. VueJS, React).
But FP is ideal only for certain narrow niches. FP proponents should just leave it at that and stop trying to promote FP as if there is a fundamental law of science which says that it's superior to imperative programming because it's not.
My personal experience with FP is that it's not good for creating large modular software. You can't create effective abstractions that are accurate models of real world entities without encapsulating their state as well. State is an essential and inseparable part of the abstraction when we talk about modeling real-world entities in software.