Недавно я узнал о функциональном программировании (в частности, Haskell, но я прошел через учебники по Lisp и Erlang). В то время как я нашел концепции очень просвещенными, я до сих пор не вижу практической стороны концепции "без побочных эффектов". Каковы практические преимущества этого? Я пытаюсь мыслить в функциональном мышлении, но есть некоторые ситуации, которые кажутся слишком сложными без возможности легко сохранять состояние (я не считаю "удобными" монахов Haskell).
Стоит ли продолжать изучать Haskell (или другой чисто функциональный язык)? Является ли функциональное или неформатированное программирование более продуктивным, чем процедурным? Возможно ли, что я продолжу использовать Haskell или другой функциональный язык позже, или я должен изучить его только для понимания?
Мне больше нравится производительность, чем производительность. Поэтому я в основном спрашиваю, буду ли я более продуктивным на функциональном языке, чем процедурный/объектно-ориентированный/любой.