Op werkdagen voor 23:00 besteld, morgen in huis Gratis verzending vanaf €20

Learning Functional Programming

Managing Code Complexity by Thinking Functionally

Paperback Engels 2022 9781098111755
Verkooppositie 3851Hoogste positie: 3851
Verwachte levertijd ongeveer 8 werkdagen

Samenvatting

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

Specificaties

ISBN13:9781098111755
Taal:Engels
Bindwijze:paperback
Aantal pagina's:200
Uitgever:O'Reilly
Druk:1
Verschijningsdatum:23-8-2022
Hoofdrubriek:IT-management / ICT
ISSN:

Lezersrecensies

Wees de eerste die een lezersrecensie schrijft!

Geef uw waardering

Zeer goed Goed Voldoende Matig Slecht

Inhoudsopgave

Preface
Who Should Use This Book?
How The Book Is Organized
Conventions Used in This Book
O’Reilly Online Learning
How to Contact Us

1. What Is Functional Programming?
Immutability
Referential Transparency
Higher Order Functions
Lazy Evaluation
Thinking Like a Functional Programmer
The Benefits of FP
FP Can Improve Productivity
FP Is Fun!
Scala
Conclusion

2. Mathematical Preliminaries
Set Theory
Functions
Kinds of Functions
Computer Science Fundamentals
Anonymous Functions
Functions as First Class Objects
Conclusion

3. Category Theory and Patterns
Category Theory–Based Patterns
A Brief History
Objects and Morphisms
An Example of a Category
The Category Scal
Functors
Programming Language Formulation of a Functor
The Patterns
The Functor Pattern
Monoids
Natural Transformations
Monads
Conclusion

4. Functional Data Structures
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
Conclusion

5. More on Immutability
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

6. Questions of Concurrency
Streams
Akka Streams
Source
Flow
Sink
More on Streams
FS2: Functional Streams for Scala
Conclusion

7. Where to from Here?
Taking the Pure Route
The IO Monad
Taking the Middle Route
JVM Languages
.NET Languages
Type Classes
Conclusion
A. Scala
Assumptions
Overview
var and val
Classes and Objects
Functions
Functions that Return Functions
Case Classes
Declaring Functions
Currying
Anonymous Functions
Higher Order Functions
Pattern Matching
Traits
Distinguishing Abstract Classes and Traits
Lazy Evaluation
Type Parameters
The Option Type
Future
Some Key Higher Order Functions
Some Other Important Higher Order Functions
Conclusion

Index
About the Author

Managementboek Top 100

Rubrieken

Populaire producten

    Personen

      Trefwoorden

        Learning Functional Programming