Home | Amazing | Today | Tags | Publishers | Years | Account | Search 
Functional Programming in C++: How to improve your C++ programs using functional techniques

Buy
Summary

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

  1. Introduction to functional programming
  2. Getting started with functional programming
  3. Function objects
  4. Creating new functions from the old ones
  5. Purity: Avoiding mutable state
  6. Lazy evaluation
  7. Ranges
  8. Functional data structures
  9. Algebraic data types and pattern matching
  10. Monads
  11. Template metaprogramming
  12. Functional design for concurrent systems
  13. Testing and debugging
(HTML tags aren't allowed.)

Expert One-on-One J2EE Design and Development (Programmer to Programmer)
Expert One-on-One J2EE Design and Development (Programmer to Programmer)

The results of using J2EE in practice are often disappointing—applications are often slow, unduly complex, and take too long to develop. The author believes that the problem lies not in J2EE itself, but that it is often used badly. Many J2EE publications advocate approaches that, while fine in theory, often fail in reality, or deliver no...

Leveraging Drupal: Getting Your Site Done Right (Wrox Programmer to Programmer)
Leveraging Drupal: Getting Your Site Done Right (Wrox Programmer to Programmer)

As an open source, community-based content management system and web site application development framework, Drupal allows you to create interactive, media-based, database-driven web sites that become a part of everyday activities and communications. This unique book is the first of its kind to tackle the challenging task of leveraging Drupal...

How to Cheat in 3ds Max 2009: Get Spectacular Results Fast
How to Cheat in 3ds Max 2009: Get Spectacular Results Fast
Need to get results with 3ds max fast? Why take months to learn every button in 3ds max when you can create great visuals with just a few key tools? Learn to create quick yet stunning logo treatments, special effects, and animated characters with the fastest techniques possible. Need convincing grass, trees, water, shadows? You can use the...

Digital Character Design and Painting: The Photoshop CS Edition (Graphics Series)
Digital Character Design and Painting: The Photoshop CS Edition (Graphics Series)

This brilliantly illustrated book blends two unique subjects: character design and painting. It details how to put thoughts and ideas together to create characters that elicit specific emotions (joy, fear, anger, sadness, etc.), and it teaches how to beautifully render these characters by applying traditional painting skills with digital tools....

Sap on DB2 for Z/OS and Os/390: High Availability and Performance Monitoring With Data Sharing
Sap on DB2 for Z/OS and Os/390: High Availability and Performance Monitoring With Data Sharing

This IBM Redbook addresses the challenges posed by monitoring high availability, scalability, and performance in an SAP sysplex data sharing environment. It introduces the motivations for utilizing a design based on DB2 data sharing. It includes the principal SAP-DB2 data sharing architecture options and trade-offs used in the industry today and...

Murach's HTML5 and CSS3
Murach's HTML5 and CSS3

Note: There is a newer edition of this book

HTML5 and CSS3 (the latest standards for HTML and cascading style sheets) are packed with coding options that make it easier than ever to create web pages with the features users want today, from an up-to-date look and feel...to immediate validation of user entries...to audio and video...

©2021 LearnIT (support@pdfchm.net) - Privacy Policy