Learning functional programming : managing code complexity by thinking functionally /
Jack Widman, PhD.
- First edition.
- xi, 121 pages : illustrations ; 24 cm
Includes index.
Includes bibliographical references and index.
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?
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.