E-book details

Composing Software. An Exploration of Functional Programming and Object Composition in JavaScript

Composing Software. An Exploration of Functional Programming and Object Composition in JavaScript

Eric Elliott

Ebook
This book delves into functional programming and composition techniques in JavaScript, starting with core concepts like pure functions, shared state avoidance, and higher-order functions to build modular, maintainable code. Early chapters explore the fundamentals of functional programming, immutability, and its growing influence in the JavaScript community. You'll learn essential topics such as function composition, currying, and higher-order functions, as well as advanced concepts like abstract data types, functors, and monads. The book discusses the evolution of functional programming, its role in modern software development, and addresses challenges like the software crisis and composing with classes.

You'll learn essential topics like object-oriented programming, focusing on factory functions, functional mixins, and object composition. You'll also understand why traditional classes complicate composition and discover strategies for creating custom data types, lenses, and transducers. The book also covers best practices, emphasizing clean, reusable code and avoiding anti-patterns like excessive mocking.

By the end, you'll be ready to apply functional programming techniques to tackle complex design challenges and write more maintainable JavaScript code.
  • 1. Composing Software: An Introduction
  • 2. The Dao of Immutability (The Way of the Functional Programmer)
  • 3. The Rise and Fall and Rise of Functional Programming (Composable Software)
  • 4. Why Learn Functional Programming in JavaScript?
  • 5. Pure Functions
  • 6. What is Functional Programming?
  • 7. A Functional Programmer's Introduction to JavaScript
  • 8. Higher Order Functions
  • 9. Curry and Function Composition
  • 10. Abstraction & Composition
  • 11. Abstract Data Types and the Software Crisis
  • 12. Functors & Categories
  • 13. Monads
  • 14. The Forgotten History of OOP
  • 15. Object Composition
  • 16. Factory Functions
  • 17. Functional Mixins
  • 18. Why Composition is Harder with Classes
  • 19. Composable Custom Data Types
  • 20. Lenses
  • 21. Transducers
  • 22. Elements of JavaScript Style
  • 23. Mocking is a Code Smell
  • Title: Composing Software. An Exploration of Functional Programming and Object Composition in JavaScript
  • Author: Eric Elliott
  • Original title: Composing Software. An Exploration of Functional Programming and Object Composition in JavaScript
  • ISBN: 9781836644620, 9781836644620
  • Date of issue: 2024-09-30
  • Format: Ebook
  • Item ID: e_44f5
  • Publisher: Packt Publishing