Functional programming is very popular on HN, but less so in the wider developer community. Many consider functional programming "hard". But is functional programming actually difficult, or is this merely a symptom of developers learning procedural languages first?
It is more difficult than OOP because of its strong association with mathematics (ie category theory and logic). Without this background knowledge it becomes like a magic black box with monads, monoids, applicatives..etc etc