Enjoy fast, free delivery, exclusive deals, and award-winning movies & TV shows with Prime
Try Prime
and start saving today with fast, free delivery
Amazon Prime includes:
Fast, FREE Delivery is available to Prime members. To join, select "Try Amazon Prime and start saving today with Fast, FREE Delivery" below the Add to Cart button.
Amazon Prime members enjoy:- Cardmembers earn 5% Back at Amazon.com with a Prime Credit Card.
- Unlimited Free Two-Day Delivery
- Instant streaming of thousands of movies and TV episodes with Prime Video
- A Kindle book to borrow for free each month - with no due dates
- Listen to over 2 million songs and hundreds of playlists
- Unlimited photo storage with anywhere access
Important: Your credit card will NOT be charged when you start your free trial or if you cancel during the trial period. If you're happy with Amazon Prime, do nothing. At the end of the free trial, your membership will automatically upgrade to a monthly membership.
Buy new:
$49.99$49.99
FREE delivery:
Thursday, Dec 14
Ships from
Amazon.com
Sold by
Amazon.com
Returns
Returnable until Jan 31, 2024
Support
Product support included
Payment
Secure transaction
Buy used: $37.23
Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet, or computer - no Kindle device required.
Read instantly on your browser with Kindle for Web.
Using your mobile phone camera - scan the code below and download the Kindle app.
Functional Programming in C++: How to improve your C++ programs using functional techniques First Edition
| Price | New from | Used from |
- Kindle
$38.99 Read with our free app - Paperback
$37.23 - $49.996 Used from $33.96 17 New from $44.25
Purchase options and add-ons
Functional Programming in C++ teaches developers the practical side of functional programming and the tools that C++ provides to develop software in the functional style. This in-depth guide is full of useful diagrams that help you understand FP concepts and begin to think functionally.
Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.
About the Technology
Well-written code is easier to test and reuse, simpler to parallelize, and less error prone. Mastering the functional style of programming can help you tackle the demands of modern apps and will lead to simpler expression of complex program logic, graceful error handling, and elegant concurrency. C++ supports FP with templates, lambdas, and other core language features, along with many parts of the STL.
About the Book
Functional Programming in C++ helps you unleash the functional side of your brain, as you gain a powerful new perspective on C++ coding. You'll discover dozens of examples, diagrams, and illustrations that break down the functional concepts you can apply in C++, including lazy evaluation, function objects and invokables, algebraic data types, and more. As you read, you'll match FP techniques with practical scenarios where they offer the most benefit.
What's inside
- Writing safer code with no performance penalties
- Explicitly handling errors through the type system
- Extending C++ with new control structures
- Composing tasks with DSLs
About the Reader
Written for developers with two or more years of experience coding in C++.
About the Author
Ivan Čukić is a core developer at KDE and has been coding in C++ since 1998. He teaches modern C++ and functional programming at the Faculty of Mathematics at the University of Belgrade.
Table of Contents
- Introduction to functional programming
- Getting started with functional programming
- Function objects
- Creating new functions from the old ones
- Purity: Avoiding mutable state
- Lazy evaluation
- Ranges
- Functional data structures
- Algebraic data types and pattern matching
- Monads
- Template metaprogramming
- Functional design for concurrent systems
- Testing and debugging
- ISBN-101617293814
- ISBN-13978-1617293818
- EditionFirst Edition
- PublisherManning
- Publication date
2018
November 19
- Language
EN
English
- Dimensions
7.4 x 0.7 x 9.3
inches
- Length
320
Pages
Frequently bought together

Similar items that may ship from close to you
Editorial Reviews
Review
functional concepts."
--Sumant Tambe, LinkedIn
"An excellent read. Comprehensive code examples illustrate the
implementation of functional programming patterns using C++14/C++17
constructs."
--Keerthi Shetty, FactSet Research Systems
"Provides elegant, easy-to-grasp, ready-to-use examples that will
improve the way you think about coding."
--Nikos Athanasiou, BETA CAE Systems
"Presents a new way of writing quality software and a new way of
thinking."
--Gian Lorenzo Meocci, CommProve
"Particularly valuable for intermediate/advanced C++ developers who
want to embrace reactive-style programming."
--Marco Massenzio, Apple
About the Author
Product details
- Publisher : Manning; First Edition (November 19, 2018)
- Language : English
- Paperback : 320 pages
- ISBN-10 : 1617293814
- ISBN-13 : 978-1617293818
- Item Weight : 1.32 pounds
- Dimensions : 7.38 x 0.7 x 9.25 inches
- Best Sellers Rank: #1,107,697 in Books (See Top 100 in Books)
- #174 in C Programming Language
- #271 in C++ Programming Language
- #694 in Computer Programming Languages
- Customer Reviews:
Important information
To report an issue with this product, click here.
About the author

dr Ivan Čukić, author of "Functional Programming in C++", KDE and KDAB developer and Free/Libre Software enthusiast.
Customer reviews
Customer Reviews, including Product Star Ratings help customers to learn more about the product and decide whether it is the right product for them.
To calculate the overall star rating and percentage breakdown by star, we don’t use a simple average. Instead, our system considers things like how recent a review is and if the reviewer bought the item on Amazon. It also analyzed reviews to verify trustworthiness.
Learn more how customers reviews work on Amazon-
Top reviews
Top reviews from the United States
There was a problem filtering reviews right now. Please try again later.
This book covers in detail how to 're-think' a program to remove as much mutable state as possible. Instead of writing state machines, is shows how to use filter and transform operations to generate outputs from inputs without changing state. It shows how lambdas, auto type deduction and predicates can be used to perform function lifting and "currying" operations to write generic stateless programs (and covers the advantages that non-mutable programs have when executing concurrently.) It demonstrates the use of ranges for performing transforms on objects, and how to create immutable data structures. it describes how to implement algebraic data types (from FP) using std::variant and std::any and shows how doing so avoids the invalid states that are common when using enum-style and multi-variable approaches. The last chapters cover monads and functors in detail, template metaprogramming to do compile-time FP, using actors for concurrent programming, and finally the benefits of the FP style for testing and debugging. The breadth of C++ covered in this book is amazing; from type_traits to placement new to template template parameters, it seems just about every corner of the huge C++ ecosystem is brought into play at some point. I have 20 years of C++ development experience, yet came across syntax and techniques I haven't seen before in almost every chapter. I'm not a newbie to FP, having written in LISP decades ago, but never really considered how that paradigm would work in a C++ context. This book changed my perspective. Highly recommended.
The material is very easy to understand (for those with some C++ background and motivation to learn). I haven't finished the book yet, but after 4 chapters I felt it was good enough to leave a review!
Other than that, this was simply superb, from top to bottom. It built functional programming concepts up slowly and pragmatically, using C++ language features (usually templates) to clearly show the underlying concepts. In the end this was the only Monad explanation I've seen that was both clear and understandable, and also useful.
Top reviews from other countries
The written style manages to be both mature and engaging, and since the second half of the book uses ranges syntax prolifically, this book is likely to become even more relevant to C++20 and beyond.
Definitely a 5*.
The book leads you through many advanced C++ idioms to find its conclusion about functional programming. It introduces novel uses of the language and explains why those idioms exist. I learned as much about function objects, lambdas, std::variant and template meta-programming as I did about functional programming.
So good, I'm in my second reading already!







