- Learning C++ Functional Programming
- Wisnu Anggoro
- 382字
- 2021-07-02 20:51:33
What this book covers
Chapter 1, Diving into Modern C++, provides an overview of modern C++, including the implementation of several new features in modern C++, such as the auto keyword, decltype keyword, null pointer, range-based for loop, standard template library, Lambda expressions, smart pointer, and tuple.
Chapter 2, Manipulating Functions in Functional Programming, covers the essential techniques in functional programming to manipulate a function; they are the first-class function technique, pure function, and currying technique. By applying the first-class function, we can treat our function as a data, which means it can be assigned to any variable instead of only being invoked as function. We also will apply the pure function technique so the function won't produce the side effect anymore. Moreover, to simplify the function, we can apply currying techniques, which will reduce the multiple arguments function by evaluating a sequence of functions with a single argument in each function.
Chapter 3, Applying Immutable State to the Function, explains how we implement the immutable object for the mutable object. We will also delve into first-class functions and pure functions, which we discussed in the previous chapter, to produce an immutable object.
Chapter 4, Repeating Method Invocation Using Recursive Algorithm, discusses the difference between iteration and recursion and why recursion techniques are better for functional programming. We will also enumerate the three kinds of recursion: functional, procedural, and backtracking recursion.
Chapter 5, Procrastinating the Execution Process Using Lazy Evaluation, explains how to delay the process of execution to get more efficient code. We will also implement caching and memoization techniques to make our code run faster.
Chapter 6, Optimizing Code with Metaprogramming, talks about running code with compile-time execution by using metaprogramming to optimize code. We will also discuss how to refactor flow control into template metaprogramming.
Chapter 7, Running Parallel Execution Using Concurrency, walks us through running multiple threads in C++ programming, as well as synchronizing threads to avoid deadlocks. We will also apply thread processing in a Windows operating system.
Chapter 8, Creating and Debugging Application in Functional Approach, elaborates all the techniques we discussed in the previous chapters to design a functional programming. Also, we will try to debug code to find a solution if there are unexpected results or the program crashes in the middle of execution.
- Learn Blockchain Programming with JavaScript
- Python 3.7網絡爬蟲快速入門
- JavaScript修煉之道
- Instant Apache Stanbol
- 深入淺出Electron:原理、工程與實踐
- 區塊鏈架構與實現:Cosmos詳解
- Java Web及其框架技術
- Linux網絡程序設計:基于龍芯平臺
- 假如C語言是我發明的:講給孩子聽的大師編程課
- 從學徒到高手:汽車電路識圖、故障檢測與維修技能全圖解
- RabbitMQ Essentials
- Building Machine Learning Systems with Python(Second Edition)
- Test-Driven Development with Django
- 現代C++編程實戰:132個核心技巧示例(原書第2版)
- Qt5 C++ GUI Programming Cookbook