3 ms·
There is a big difference between adopting functional programming language features, and FP languages "becoming popular". In actuality, it is bad news for FP f
by AtlasBarfed 4y ago
There is a big difference between adopting functional programming language features, and FP languages "becoming popular".
In actuality, it is bad news for FP fans. A couple immutable construction features for parallel stuff does not mean Java 20 will have monads and can have its syntax described in four equations on a t-shirt. Closures do not mean that postfix and s-exprs are taking over Python syntax or Javascript.
The imperative langs are for the everyday programmer, people that have fallen to the wayside at some point in the IQ totem pole of comp sci, something like:
1) pointers / visualizing Von Neumann architecture to a basic level
2) recursion
3) monads
THere are a couple other "filter concepts" that I can't recall on a Sunday Morning, but basically Visual Basic / Excel VBA and their ilk is for people that can't do #1, Java really doesn't have recursion techniques in the core library and I've never seen anyone besides me use it, so that is kind of where #2 ends. That's probably 70-80% of people paid to program!
People that can understand recursion, datastructures, basic algorithms, those are "I majored in computer science undergrad", but maybe monads are a bit exotic / too late in the sequence. That may be 90-95% of programmers.
People that can understand monads and pure FP? 5% may be generous.
Somewhere in there is the dividing line between people that can visualize parallel processing and those that can't. Honestly that might be pretty close to "the recursion line".
The good news is FP is contibuting to the art and practice of general programming. The bad news is that "real" FP is as far from mainstream adoption as it ever has been.