Learning C++ Functional Programming
暫譯: 學習 C++ 函數式程式設計
Wisnu Anggoro
- 出版商: Packt Publishing
- 出版日期: 2017-08-09
- 售價: $2,220
- 貴賓價: 9.5 折 $2,109
- 語言: 英文
- 頁數: 304
- 裝訂: Paperback
- ISBN: 1787281973
- ISBN-13: 9781787281974
-
相關分類:
C++ 程式語言
海外代購書籍(需單獨結帳)
買這商品的人也買了...
-
$480$379 -
$790$774 -
$500$450 -
$2,200$2,090 -
$580$458 -
$480$379 -
$480$408 -
$940$700 -
$505深入理解計算機系統(原書第2版)
-
$969Debugging Teams: Better Productivity through Collaboration (Paperback)
-
$474$450 -
$354$336 -
$680$537 -
$790$672 -
$1,900$1,805 -
$650$507 -
$540$459 -
$500$425 -
$403游戲服務器架構與優化
-
$450$356 -
$1,980$1,881 -
$690$538 -
$450$351 -
$800$632 -
$1,428$1,357
商品描述
Key Features
- Modularize your applications and make them highly reusable and testable
- Get familiar with complex concepts such as metaprogramming, concurrency, and immutability
- A highly practical guide to building functional code in C++ filled with lots of examples and real-world use cases
Book Description
Functional programming allows developers to divide programs into smaller, reusable components that ease the creation, testing, and maintenance of software as a whole. Combined with the power of C++, you can develop robust and scalable applications that fulfill modern day software requirements. This book will help you discover all the C++ 17 features that can be applied to build software in a functional way.
The book is divided into three modules—the first introduces the fundamentals of functional programming and how it is supported by modern C++. The second module explains how to efficiently implement C++ features such as pure functions and immutable states to build robust applications. The last module describes how to achieve concurrency and apply design patterns to enhance your application’s performance. Here, you will also learn to optimize code using metaprogramming in a functional way.
By the end of the book, you will be familiar with the functional approach of programming and will be able to use these techniques on a daily basis.
What you will learn
- Get to know the difference between imperative and functional approaches
- See the use of first-class functions and pure functions in a functional style
- Discover various techniques to apply immutable state to avoid side effects
- Design a recursive algorithm effectively
- Create faster programs using lazy evaluation
- Structure code using design patterns to make the design process easier
- Use concurrency techniques to develop responsive software
- Learn how to use the C++ Standard Template Library and metaprogramming in a functional way to improve code optimization
About the Author
Wisnu Anggoro is a Microsoft Certified Professional in C# programming and an experienced C/C++ developer. He has also authored the books Boost.Asio C++ Network Programming - Second Edition and Functional C# by Packt. He has been programming since he was in junior high school, which was about 20 years ago, and started developing computer applications using the BASIC programming language in the MS-DOS environment. He has solid experience in smart card programming, as well as desktop and web application programming, including designing, developing, and supporting the use of applications for SIM Card Operating System Porting, personalization, PC/SC communication, and other smart card applications that require the use of C# and C/C++. He is currently a senior smart card software engineer at CIPTA, an Indonesian company that specializes in innovation and technology for smart cards. He can be reached through his email at wisnu@anggoro.net.
Table of Contents
- Diving into Modern C++
- Manipulating functions in functional programming
- Applying immutable state to the function
- Recurring method invocation using recursive algorithm
- Procrastinating the execution process using Lazy Evaluation
- Optimizing code with Metaprogramming
- Running parallel execution using Concurrency
- Creating and debugging application in functional approach
商品描述(中文翻譯)
**主要特點**
- 模組化您的應用程式,使其高度可重用且可測試
- 熟悉複雜概念,如元程式設計、併發性和不可變性
- 一本實用的指南,教您如何在 C++ 中構建功能性代碼,並提供大量範例和實際案例
**書籍描述**
功能性程式設計允許開發人員將程式劃分為更小的可重用組件,從而簡化整體軟體的創建、測試和維護。結合 C++ 的強大功能,您可以開發出滿足現代軟體需求的穩健且可擴展的應用程式。本書將幫助您發現所有可以應用於以功能性方式構建軟體的 C++ 17 特性。
本書分為三個模組——第一個模組介紹功能性程式設計的基本原理以及現代 C++ 如何支持這些原理。第二個模組解釋如何有效地實現 C++ 特性,如純函數和不可變狀態,以構建穩健的應用程式。最後一個模組描述如何實現併發性並應用設計模式來提升應用程式的性能。在這裡,您還將學習如何以功能性方式使用元程式設計來優化代碼。
在書籍結束時,您將熟悉功能性程式設計的方法,並能夠在日常工作中使用這些技術。
**您將學到的內容**
- 瞭解命令式和功能性方法之間的區別
- 看到在功能性風格中使用一級函數和純函數
- 發現各種技術以應用不可變狀態以避免副作用
- 有效設計遞歸算法
- 使用延遲評估創建更快的程式
- 使用設計模式結構化代碼,使設計過程更簡單
- 使用併發技術開發響應式軟體
- 學習如何以功能性方式使用 C++ 標準模板庫和元程式設計來改善代碼優化
**關於作者**
**Wisnu Anggoro** 是一名微軟認證專業人員,專精於 C# 程式設計,並且是一位經驗豐富的 C/C++ 開發人員。他還著有《Boost.Asio C++ Network Programming - Second Edition》和《Functional C#》等書籍。他自初中以來便開始編程,至今已有約 20 年,並在 MS-DOS 環境中使用 BASIC 程式語言開始開發計算機應用程式。他在智能卡編程以及桌面和網頁應用程式編程方面擁有扎實的經驗,包括設計、開發和支持 SIM 卡作業系統移植、個性化、PC/SC 通信及其他需要使用 C# 和 C/C++ 的智能卡應用程式的使用。他目前是印尼公司 CIPTA 的高級智能卡軟體工程師,該公司專注於智能卡的創新和技術。他的電子郵件是 wisnu@anggoro.net。
**目錄**
1. 深入現代 C++
2. 在功能性程式設計中操作函數
3. 將不可變狀態應用於函數
4. 使用遞歸算法進行遞歸方法調用
5. 使用延遲評估延遲執行過程
6. 使用元程式設計優化代碼
7. 使用併發性運行並行執行
8. 以功能性方法創建和調試應用程式