
Learning Functional Programming: Managing Code Complexity by Thinking Functionally
- Length: 200 pages
- Edition: 1
- Language: English
- Publisher: O'Reilly Media
- Publication Date: 2022-09-20
- ISBN-10: 1098111753
- ISBN-13: 9781098111755
- Sales Rank: #0 (See Top 100 Books)
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
1. What is Functional Programming? Immutability Referential Transparency Higher Order Functions Lazy Evaluation Thinking likek a functional programmer The Benefits of Functional Programming FP can improve productivity FP is fun! 2. Category Theory and Patterns Two Kinds of Patterns Category Theory Based Patterns Objects and Morphisms The category Set The category Scal Functors The Patterns The pattern Functor Monoids Natural Transformations Monads Conclusion 3. Functional Data Structures Introduction The Option Data Structure The Try Data Structure The Either Data Structure Higher-Order Functions Monads in for comprehensions in Scala Traditional Data Structures Immutability and History Laziness Summary 4. More on Immutability Introduction Mutable and Immutable Variables Recursion A Linked List Example Tail Recursion More Examples of the Power of fold in Scala A Connection between fold and Monoids More with Higher Order Functions From map to flatMap Conclusion About the Author
How to download source code?
1. Go to: https://www.oreilly.com/
2. Search the book title: Learning Functional Programming: Managing Code Complexity by Thinking Functionally
, sometime you may not get the results, please search the main title
3. Click the book title in the search results
3. Publisher resources
section, click Download Example Code
.
1. Disable the AdBlock plugin. Otherwise, you may not get any links.
2. Solve the CAPTCHA.
3. Click download link.
4. Lead to download server to download.