
On Mon, Jun 18, 2012 at 1:39 PM, Jonathan Geddes
I believe you are observing and commiserating over what Paul Graham famously refers to as "the blub paradox"[0].
Here is the problem from my perspective. It is a bootstrapping problem: you have to think FP is good to invest the time to learn it, but you have to invest a lot of time to learn it before you think it's good. This may be why FP has found a place in academia--loads of smart people who want to learn for the shear joy of learning.
I might be an "exceptional" case. I learned Perl of all things first. But I studied mathematics as an undergraduate, and found myself using "abstract" mathematical reasoning in order express and refactor computation all the time. A strongly typed, truly functional language makes it so that my insights are in fact static guarantees instead of relatively fragile reasoning that somebody else might break with a badly placed side effect -- and also relieved me of the burden of making sure there /weren't/ any badly placed side effects in a long computation. A lot of my procedural, OO peers really hated it when I did some of these transformations. Until they saw, by example, that the "complexity" I introduced was simplification. I stopped them from thinking about boxes, the things they contain, and moving things around in "space and time" and into thinking about the problem they were trying to solve. It also meant less typing, an easier time adding features, and easier maintenance. The code was harder to "read", but easier to make sense of. But I think the OP is just an invitation to philosophize about our superiority.