4 ms·
Well said. I enjoy being in the first camp on personal projects--it's a very fun mental exercise. It's made me a better programmer in my day-to-day, and I like
by Stoids 9y ago
Well said. I enjoy being in the first camp on personal projects--it's a very fun mental exercise. It's made me a better programmer in my day-to-day, and I like the mind-expanding moments you have when a wordy math concept (monads, kleisli, applicatives, etc..) finally makes sense to you.
That being said I try to firmly plant myself in the second camp at work. As you describe, it's more about the overarching lessons we take away from functional programming. Shared mutable state is scary, referential transparency and purity are easier to reason about, push IO/mutation/scary "complex" things to the edges of your program, etc.
Bottom-up design is a good description. I try to shoot for a functional core with a flexible shell. It lends itself well to the testing story, where the core is covered by unit tests (trivial when coding with pure functions) and integration tests give me confidence in correct behavior at the edges.