Book description
Learn how to think and write code like a functional programmer. With this practical guide, software developers familiar with object-oriented programming will dive into the core concepts of functional programming and learn how to use both functional and OOP features together on large or complex software projects.
Author Jack Widman uses samples from Java, Python, C#, Scala, and JavaScript to help you gain a new perspective and a set of tools for managing the complexity in your problem domain. You'll be able to write code that's simpler, reusable, easier to test and modify, and more consistently correct. This book also shows you how to use patterns from category theory to help bridge the gap between OOP and functional programming.
- Learn functional programming fundamentals and explore the way functional programmers approach problems
- Understand how FP differs from object-oriented and imperative programming
- Use a set of practical, applicable design patterns that model reality in a functional way
- Learn how to incorporate FP and OOP features into software projects
- Apply functional design patterns appropriately and use them to write correct, robust, and easily modifiable code
Publisher resources
Table of contents
- Preface
- 1. What Is Functional Programming?
- 2. Mathematical Preliminaries
- 3. Category Theory and Patterns
- 4. Functional Data Structures
- 5. More on Immutability
- 6. Questions of Concurrency
- 7. Where to from Here?
- A. Scala
- Index
- About the Author
Product information
- Title: Learning Functional Programming
- Author(s):
- Release date: August 2022
- Publisher(s): O'Reilly Media, Inc.
- ISBN: 9781098111755
You might also like
book
Grokking Functional Programming
There’s no need to fear going functional! This friendly, lively, and engaging guide is perfect for …
video
Introduction to Functional Programming
This video’s accompanying exercises and solutions can be found here. Functional programming has become an integral …
book
Functional Programming in Python
Python is not a functional programming language, but it is a multi-paradigm language that makes functional …
book
Programming Scala, 3rd Edition
Get up to speed on Scala--the JVM, JavaScript, and natively compiled language that offers all the …