| I’ve had similar experiences with scala and clojure professionally. I now actively oppose people attempting to add functional code to projects I work on. …because when they say “more functional” most people mean: I want less code. I want the code to be shorter, because I’m lazy and I want it to be all on one screen. …but that’s actively harmful to almost any code base. You want simple code, not dense complicated code. Dense complicated code is for people who wrote the code, and a few smart talented people. Other people have to work on the code too. They cannot. Actual functional code doesn’t strive for code density, it strives for code purity and algebraic structures. That’s fine. Do that. Dense map reduce reduce flow reduce functions can die in a fire. |
Maybe if I stared at it for twelve years it would become familiar and I would begin to think it was simple, readable and maintainable.