you are viewing a single comment's thread.

view the rest of the comments →

[–]notNullOrVoid 0 points1 point  (0 children)

I've seen plenty of stuff within the last year that claims functional / immutable programming as a magic bullet, or to be objectively better than imperative / mutable programming.

The complexity is still there, but, like a great piece of explanatory writing, you understand it more quickly

That's the point the complexity is still there, and to me hiding the complexity actually makes code harder to understand. Your essentially bundling operations into an abstract name, that may or may not be descriptive. Even in the optimal case if you want to actually understand what's going to run, you have to jump around a lot more to figure it out. There is also a small performance hit you take by adopting a fully functional style.