Functional programming for Java developers /
Software development today is embracing functional programming (FP), whether it's for writing concurrent programs or for managing Big Data. Where does that leave Java developers? This concise book offers a pragmatic, approachable introduction to FP for Java developers or anyone who uses an obje...
Clasificación: | Libro Electrónico |
---|---|
Autor principal: | |
Formato: | Electrónico eBook |
Idioma: | Inglés |
Publicado: |
Sebastopol, CA :
O'Reilly,
2011.
|
Temas: | |
Acceso en línea: | Texto completo (Requiere registro previo con correo institucional) |
Tabla de Contenidos:
- Table of Contents; Preface; Welcome to Functional Programming for Java Developers; Conventions Used in This Book; Using the Code Examples; Getting the Code Examples; Safari® Books Online; How to Contact Us; Acknowledgments; Chapter1.Why Functional Programming?; I Have to Be Good at Writing Concurrent Programs; Most Programs Are Just Data Management Problems; Functional Programming Is More Modular; I Have to Work Faster and Faster; Functional Programming Is a Return to Simplicity; Chapter2.What Is Functional Programming?; The Basic Principles of Functional Programming.
- Avoiding Mutable StateFunctions as First-Class Values; Lambdas and Closures; Higher-Order Functions; Side-Effect-Free Functions; Recursion; Lazy vs. Eager Evaluation; Declarative vs. Imperative Programming; Designing Types; What About Nulls?; Algebraic Data Types and Abstract Data Types; Exercises; Chapter3.Data Structures and Algorithms; Lists; Maps; Combinator Functions: The Collection Power Tools; Persistent Data Structures; Some Final Thoughts on Data Structures and Algorithms; Exercises; Chapter4.Functional Concurrency; The Actor Model; Software Transactional Memory; Exercises.
- Chapter5.Better Object-Oriented ProgrammingImperative, Mutable Code; The Liskov Substitution Principle; More on Design Patterns; Pattern Matching; What Makes a Good Type?; Rethinking Object-Oriented Middleware; Exercises; Chapter6.Where to Go From Here; Functional Tools for Java; A Recap; Exercises; Appendix. References; Glossary.