Re:“Mostly functional” programming does not work (2014)
by AnimalMuppet on Monday June 22, 2015 @01:37PM
(#9759879)
I think you just refuted the article.
> Offloading the constant checking of that consistency, in any amount, to a computer, is a huge win that compounds quickly over time.
True. And therefore offloading a less amount to the computer (by being mostly but not totally functional) is less of a win, but still a win.
In this example, you've had to internalize a bit of extra knowledge, and have an extra "gotcha" to watch out for. A job that could have been done by a computer, if things were kept pure, now has to be done by you, incurring slight amounts of mental overhead.
I don't program routinely in Haskell (although things are quickly headed in that direction), but I think the sentiment of that community is: 1. Keeping a large system consistent in your head is hard 2. Offloading the constant checking of that consistency, in any amount, to a computer, is a huge win that compounds quickly over time.
Note that the "hardness" of holding a large system in your head, and the "hardness" of Haskell's learning curve have to be qualitatively different for those assumptions to hold. In my experience, they are; essentially, you're making a large upfront cognitive investment in order to save slight amounts of mental overhead every day.