This site uses cookies, tokens, and other third party scripts to recognize visitors of our sites and services, remember your settings and privacy choices, and — depending on your settings and privacy choices — enable us and some key partners to collect information about you so that we can improve our services and deliver relevant ads.

By continuing to use our site or clicking Accept, you agree that CBS and our key partners may collect data and use cookies for personalized ads and other purposes, as described more fully in our privacy policy. You can change your settings at any time by clicking Manage Settings.

just in Supreme Court says police need a warrant for cell location records

Functional programming finally goes mainstream

Forrester breaks down functional programming and why tech developers should care about it.

Zinkevych, Getty Images/iStockphoto

Forrester has recently 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)?

Which programming languages are most popular (and what does that even mean)?

Popularity may not be a single vector answer, but students and professionals still want to know if they're guiding their careers and companies in the right direction.

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 something. It'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 percent 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.

-- By Amanda LeClair, Analyst, and Michael Facemire Vice President, Principal Analyst

Want to learn more about functional programming and its impact on enterprise development? Check out our new report: The New Dawn Of Functional Programming [subscription required].