Hands-On Functional Programming with C++

4.5 (2 reviews total)
By Alexandru Bolboaca
    What do you get with a Packt Subscription?

  • Instant access to this title and 7,500+ eBooks & Videos
  • Constantly updated with 100+ new titles each month
  • Breadth and depth in over 1,000+ technologies
  1. Section 1: Functional Building Blocks in C++

About this book

Functional programming enables you to divide your software into smaller, reusable components that are easy to write, debug, and maintain. Combined with the power of C++, you can develop scalable and functional applications for modern software requirements. This book will help you discover the functional features in C++ 17 and C++ 20 to build enterprise-level applications.

Starting with the fundamental building blocks of functional programming and how to use them in C++, you’ll explore functions, currying, and lambdas. As you advance, you’ll learn how to improve cohesion and delve into test-driven development, which will enable you in designing better software. In addition to this, the book covers architectural patterns such as event sourcing to help you get to grips with the importance of immutability for data storage. You’ll even understand how to “think in functions” and implement design patterns in a functional way.

By the end of this book, you’ll be able to write faster and cleaner production code in C++ with the help of functional programming.

Publication date:
June 2019


Section 1: Functional Building Blocks in C++

In this section, we will learn about the basic building blocks of functional programming and how to use them in C++. First, we will look at what functional programming is and how it is different from and similar to object-oriented programming (OOP). Then, we will dive into the fundamental idea of immutability and learn how to write pure functions in C++—that is, functions that don't change state. We will then learn how to use lambdas and how to write pure functions using them.

Once we master those building blocks, we can move on to operations with functions. In functional programming, functions are data, so we can pass them around and make operations with them. We will learn about partial application and currying, two fundamental and closely-related operations. We will also see how to compose functions. These operations...

About the Author

  • Alexandru Bolboaca

    With 20 years' experience in the software development industry, Alexandru Bolboaca has gone from being a junior C++ programmer to a technical lead and software architect, before becoming a technical coach and trainer. He has extensive experience in helping customers to improve the way they work, as well as their code and approach to testing. He is also the author of Usable Software Design, and the co-author of Coderetreat.

    Browse publications by this author

Latest Reviews

(2 reviews total)
Many good programming tips and examples, which are helpful to get familiar with this topic. You can try out the examples parallel to reading and experiment with them. In my opinion the best way to learn this topic.
2/3 read yet, a good book, especially for the price. I think I'm just too advance in C++ to really appreciate the full value of this book.

Recommended For You

Hands-On Functional Programming with C++
Unlock this book and the full library FREE for 7 days
Start now