Mastering Functional Programming: Functional techniques for sequential and parallel programming with Scala
暫譯: 精通函數式編程:使用 Scala 進行序列和並行編程的函數式技術
Anatolii Kmetiuk
- 出版商: Packt Publishing
- 出版日期: 2018-08-31
- 售價: $2,220
- 貴賓價: 9.5 折 $2,109
- 語言: 英文
- 頁數: 380
- 裝訂: Paperback
- ISBN: 1788620798
- ISBN-13: 9781788620796
-
相關分類:
JVM 語言
海外代購書籍(需單獨結帳)
商品描述
Learn how functional programming can help you in deploying web servers and working with databases in a declarative and pure way
Key Features
- Learn functional programming from scratch
- Program applications with side effects in a pure way
- Gain expertise in working with array tools for functional programming
Book Description
In large projects, it can get difficult keeping track of all the interdependencies of the code base and how its state changes at runtime. Functional Programming helps us solve these problems. It is a paradigm specifically designed to deal with the complexity of software development. This book will show you how the right abstractions can reduce complexity and make your code easy to read and understand.
Mastering Functional Programming begins by touching upon the basics such as what lambdas are and how to write declarative code with the help of functions. It then moves on to more advanced concepts such as pure functions and type classes, the problems they aim to solve, and how to use them in real-world scenarios. You will also explore some of the more advanced patterns in the world of functional programming, such as monad transformers and Tagless Final. In the concluding chapters, you will be introduced to the actor model, implement it in modern functional languages, and explore the subject of parallel programming.
By the end of the book, you will have mastered the concepts entailing functional programming along with object-oriented programming (OOP) to build robust applications.
What you will learn
- Write reliable and scalable software based on solid foundations
- Explore the cutting edge of computer science research
- Effectively solve complex architectural problems in a robust way
- Avoid unwanted outcomes such as errors or delays and focus on business logic
- Write parallel programs in a functional style using the actor model
- Use functional data structures and collections in your day-to-day work
Who this book is for
If you are from an imperative and OOP background, this book will guide you through the world of functional programming, irrespective of which programming language you use.
Table of Contents
- Declarative Programming Style
- Functions and Lambdas
- Functional Data Structures
- The Problem of Side Effects
- Effect Types: Abstracting Away Side Effects
- Effect Types in Practice
- The Idea of the Type Classes
- Basic Type Classes and Their Usage
- Libraries for Pure Functional Programming
- Patterns of Advanced Functional Programming
- Introduction to the Actor Model
- Actor Model in Practice
- Use Case: A Parallel Web Crawler
- Appendix: Introduction to Scala
商品描述(中文翻譯)
了解函數式程式設計如何幫助您以宣告式和純粹的方式部署網路伺服器和處理資料庫
主要特點
- 從零開始學習函數式程式設計
- 以純粹的方式編寫具有副作用的應用程式
- 掌握使用陣列工具進行函數式程式設計的專業知識
書籍描述
在大型專案中,追蹤程式碼庫的所有相互依賴關係以及其在執行時狀態的變化可能會變得困難。函數式程式設計幫助我們解決這些問題。這是一種專門設計用來處理軟體開發複雜性的範式。本書將向您展示正確的抽象如何減少複雜性,並使您的程式碼易於閱讀和理解。
掌握函數式程式設計從基本概念開始,例如什麼是 lambda 以及如何利用函數編寫宣告式程式碼。然後進入更高級的概念,如純函數和類型類別,它們旨在解決的問題,以及如何在現實世界的情境中使用它們。您還將探索函數式程式設計世界中的一些更高級的模式,例如 monad transformers 和 Tagless Final。在結尾的章節中,您將被介紹到演員模型,並在現代函數式語言中實現它,還將探討平行程式設計的主題。
到書籍結束時,您將掌握函數式程式設計的概念,並結合物件導向程式設計 (OOP) 來構建穩健的應用程式。
您將學到什麼
- 基於堅實基礎編寫可靠且可擴展的軟體
- 探索計算機科學研究的前沿
- 以穩健的方式有效解決複雜的架構問題
- 避免不必要的結果,例如錯誤或延遲,並專注於業務邏輯
- 使用演員模型以函數式風格編寫平行程式
- 在日常工作中使用函數式資料結構和集合
本書適合誰
如果您來自命令式和物件導向的背景,本書將引導您進入函數式程式設計的世界,無論您使用哪種程式語言。
目錄
- 宣告式程式設計風格
- 函數和 Lambda
- 函數式資料結構
- 副作用的問題
- 效果類型:抽象化副作用
- 實踐中的效果類型
- 類型類別的概念
- 基本類型類別及其用法
- 純函數式程式設計的函式庫
- 高級函數式程式設計的模式
- 演員模型介紹
- 實踐中的演員模型
- 案例研究:平行網路爬蟲
- 附錄:Scala 介紹