我最近一直在学习函数式编程(特别是 Haskell,但是我也学习了 Lisp 和 Erlang 的教程)。虽然我发现这些概念非常有启发性,但我仍然看不到“无副作用”概念的实用性。它的实际优点是什么?我试图用功能性思维来思考,但是有些情况看起来过于复杂,没有能力以一种简单的方式拯救状态(我不认为 Haskell 的 monads 是“简单的”)。
继续深入学习 Haskell (或其他纯函数式语言)值得吗?函数式编程或无状态编程实际上比过程式编程更有生产力吗?我是否可能在以后继续使用 Haskell 或其他函数式语言,或者我只是为了理解才学习它?
我关心的不是绩效,而是工作效率。所以我主要问的是,我在函数式语言中的工作效率是否会高于过程式语言、面向对象语言或其他语言。