Like you mentioned, I understand the code, but don’t really get the “why”. Also, don’t really like it.
You’re article was enlightening, but didn’t really convince me. I still don’t see the “why” and I still don’t like the functional programming trend – and still hate all the frameworks that come with it.
You see, the major benefit you kept mentioning is code reusibility… My problem with that is we always strive to make code reusable, but how often do we really reuse it? The effort taken to make code reusable often comes at the price of other important factors… Maintainability, for one. More specifically, with functional and reactive paradigms, debugging becomes a nightmare. These programming approaches, in my opinion, make the stack trace, the most informative debug tool, useless.
There’s also a more subtle, non-technical, problem that many people simply ignore. If you adopt one of those trendy frameworks, it starts to hinder you’re hiring process, because not only do you need to find people that know the language, but are also fluent in the specific framework or else it will take a long time before they’re productive.
I haven’t been poisoned by the Functional/Reactive Kool-Aid… and intend on remaining pure as long as I can. I would never work with those paradigms and related frameworks voluntarily in my projects, but need to know and work with them to feed myself, because, well, execs love a good trend.