Just a few minutes ago an acquaintance and former co-worker messaged me asking for a book recommendation on functional programming. I hope he does not mind that I’m referencing that conversation but I thought the question was interesting enough to write about it.
It bears repeating that with 35-plus years as a programmer I learn languages as they are presented. Recently it’s been dart and flutter; sure the lines between language, API, environment and framework get blinded all the time… but functional programming is a beast of a different variety.
The scientists and language experts in the audience will know that functional programming has some interesting out of the box capabilities. See any erlang overview. And so there are some good reasons for the complexity. But then there is the ugly side of functional programming. You have to be a good or great journeyman programmer. button monkeys need not apply. The cost of functional programmer is higher than a regular programmer. The tools are weaker and tend to be more complex and so the cost of building out a proper environment is higher. Functional programming can gave the peril of the perl read only outcome. Training is harder for some people because it’s a different way of thinking.
The worst part of functional programming is that it has not actually been adopted as part of the mainstream. While it might offer what looks like job security it’ a fine way to kill a company too.