1

Immutability

What Is Functional Programming?

If you were to ask the average programmer what functional programming is, you might get any of the following answers.

  • Programming with functions.

  • Functions are “first class” elements.

  • Programming with referential transparency.

  • A programming style based upon lambda calculus.

While these assertions might be true, they are not particularly helpful. I think a better answer is: Programming without assignment statements.

Perhaps you don’t think that definition is much better. Perhaps it even frightens you. After all, what do assignment statements have to do with functions; and how can you possibly ...

Get Functional Design: Principles, Patterns, and Practices now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.