My deep live into functional programming has definitely made me a fan. Most importantly, it helps me see a way for programming languages to keep evolving.

Sure, I think it better matches the rising service-oriented views on software. It improves reasonability with immutable-by-default data and separating data from operations. Mark Seemann does a great talk in this vein.

I also love some of the idiomatic benefits. Partial application, function composition, type-driven development, and other approaches are very powerful.

None of the above are why I think functional is such a promising road forward.

I believe functional programming will continue pushing languages forward for a long time because their type systems behave like math type systems. This close resemblance makes it easy to lean on math for approaches to problems. Mary Shaw identifies a feedback loop with science/academics as a key for becoming an engineering discipline.

This loop already happens between math and functional programming. In fact, much of functional programming is rooted in math constructs and concepts. For example, ML was developed for logic proofs.

Most probably think of computer science as our academic field. This is true, but computer science is also a very young field. Math is comparatively well established. Math has a deep catalog of existing solutions, dedicated academics, and established processes. Many software pioneers studied math. I also studied math in preparation for a career in software. The thought process is very similar, and software will likely benefit from mathematics even as computer science matures.

To be clear, I don’t think FP will be the one lasting paradigm. Rather, I think the functional paradigm with be a lasting model with room to grow and push our industry forward.