Functional Programming Finally Goes Mainstream—Here’s What You Need To Know

Amanda LeClair Analyst
Michael Facemire Vice President, Principal Analyst
December 18, 2017

Last week, Forrester released our take on functional programming (FP), “The New Dawn Of Functional Programming”. While FP isn’t a new concept, for tech professionals “functional programming” is going to become inescapable over the next 18 months — that is, if it isn’t already on your radar. But FP is a complex concept, even for some rockstar developers. Here’s what you need to know about functional programming:

What is functional programming (FP)?

Functional programming is a programming paradigm.  In layman’s terms functional programming tells software what to do, compared to procedural programming that tells software how to do somethingIt’s a fundamental shift in how most code today is written; and that requires a new set of skills, programming languages, architectures, and philosophical approach to how software should work.

What FP is not: Functional programming shares a word with function-as-a-service (FaaS), but the commonality stops there. You can build a serverless implementation using a functional programming model, but there is nothing about serverless that in itself encourages or requires FP.

Why should I care about FP?

The customer-facing software development world is outgrowing stateful, object-oriented (OO) development. The bar for great, intuitive customer experience has been raised by ambient, conversation-driven user interfaces, like through Amazon Alexa. Functional programming allows enterprises to take better advantage of compute power to deliver those experiences at scale; better flexibility for delivering the right output; and a more efficient way of delivering customer value. FP also reduces regression defects in code, simplifies code creation and maintenance, and allows for greater code reuse.

Just as object-oriented programming (OOP) emerged as the solution to the limitations of procedural programming at the dawn of the internet boom in the mid-’90s, FP is emerging as the solution to the limitations of OOP today. The shift is already underway — 53% of global developers reported that at least some teams in their companies are practicing functional programming and are planning to expand their usage.

What should I do next?

Your organization won’t go all-in on FP the way many enterprises adopted OOP. And the shift will be neither immediate nor intuitive for OO developers. However, FP will be the foundation of how you build next-generation dynamic and scalable experiences. The barriers to entry for FP are low, so get started now by identifying and leveraging early FP skills you likely already have in-house. Developers familiar with hybrid languages like Scala or using functions in Java 8 already have a base layer for understanding FP. Work with them to continue building on that foundation.

For more on functional programming and its impact on enterprise development, check out our new report: The New Dawn Of Functional Programming


Related Posts