2 ms·
I think its because you don't need too. I love functional programming, and actually work in Clojure at my job, we switched from Java. That said, it is not a k
by didibus 8y ago
I think its because you don't need too.
I love functional programming, and actually work in Clojure at my job, we switched from Java.
That said, it is not a killer feature. It is only marginally better in a way that only converts can appreciate.
To management and devs not using it, they don't notice anything different about the software we deliver.
Yes, it makes you marginally more productive. Yes, our code is marginally safer. And ya, you could probably measure the difference given rigorous study. But its not big enough to be obviously better.
And while you gain a marginal boost in productivity, safety, evolvability and simplicity. You also lose in performance and memory consumption. Unfortunatly, the latter two metrics are much easier to measure, and thus more noticeable.
Also, most FP languages have extra barriers to entry. Lisps have unfamiliar syntax and meta-programming tacked on. MLs have complex type theory tacked on. There's not really an FP language that has a simple type system, and familiar Algol like syntax.
Finally, the fact that the benefits are not obvious, and only marginal, combined with the huge lead that procedural and OOP languages have. Which they gained because for a long time FP was too slow to be practical. Means that its almost impossible to make a dent in the industry. The momentum for OOP and procedural is too strong. More experts to teach beginners, and more existing code writen in them, means people only learn and work on and get better at OOP and procedural.