Skip to Content
Learning Functional Programming
book

Learning Functional Programming

by Jack Widman
August 2022
Intermediate to advanced
135 pages
2h 51m
English
O'Reilly Media, Inc.
Book available
Content preview from Learning Functional Programming

Chapter 1. What Is Functional Programming?

Functional programming? Functors? Monoids? Monads? “I’m not a mathematician!” you might say. How can I learn these esoteric concepts? And why would I want to? These concerns are totally understandable. But the truth is you don’t need to be a mathematician to be a functional programmer.

The fundamental concepts of FP are easy to understand when presented in a clear, straightforward way. And that is what this book is about. Making FP understandable and practical. In particular, I will teach you how to think like a functional programmer. But why would you want to learn FP?

Picture this. It’s 10 p.m. and you are totally stuck while trying to fix a bug in a program you need to submit in the morning. The problem seems to be centered around a variable called ratio. The problem is that depending on the state of the system you are modeling, the variable ratio keeps changing. Your frustration builds. Or you have a deadline at work and there is an elusive bug in your microservice that you are chasing down. The problem seems to be in two nested for loops in which variables are modified in a fairly complex way. The logic is complex and you don’t quite see the solution. If only there were a way to write programs in a way in which the value of variables would not change! FP to the rescue.

Note

Variables whose values change often are a considerable source of bugs in programs. It can be difficult to keep track of the value of the variable since it can ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Mastering Functional Programming

Mastering Functional Programming

Anatolii Kmetiuk

Publisher Resources

ISBN: 9781098111748Errata Page