Functional Programming in C++
300 pages
English
PDF
4.5

Functional Programming in C++

Functional Programming in C++

Author:

Year:

Summary:

The book "Functional Programming in C++" is a practical guide for developers who want to go beyond the imperative style and master the powerful paradigms of functional programming in the context of modern C++ (C++17/20). The author, Alexey Zakharov, combines deep theory with real-world examples, showing how to write more reliable, testable, and concise code.



What is this book about?

  • Fundamental concepts: pure functions, data immutability, absence of side effects.
  • Advanced C++ features: lambda expressions, std::function, std::optional, std::variant, and templates.
  • Implementation of functional patterns: map, filter, reduce, function composition, currying.
  • Working with monads and functors in C++ (Maybe, Either, IO-like constructs).
  • Performance optimization when using the functional style.


Who is this book for?

  • C++ programmers familiar with the basics of the language (classes, templates, STL).
  • Developers transitioning from languages like Haskell, Scala, or F#, who want to apply functional concepts in C++.
  • Engineers striving to improve the readability and fault tolerance of their code.


What will you learn?

  • How to replace loops with algorithms and lambdas, avoiding mutable state.
  • Principles of building data processing pipelines without mutation.
  • Techniques for lazy evaluation and memoization.
  • Methods for testing functions in isolation from the outside world.
  • How to avoid the "pain" of working with pointers and exceptions using a monadic approach.


The book contains numerous code examples, from simple snippets to full-fledged projects (parsers, event handlers, mathematical libraries). Each chapter concludes with exercises to reinforce the material. This is not just a translation of academic concepts, but an adaptation of best practices to the realities of C++ — taking into account performance, compatibility with existing code, and compiler specifics.



"Functional Programming in C++" is your guide to a world where code becomes declarative, predictable, and easily maintainable. It is suitable both for learning from scratch in this paradigm and for deepening the knowledge of experienced specialists.

Recommendations