天瓏網址

這本書薄薄一本,精華大概在3~6章,大致上有:

  1. 如何使用map/reduce/filter/flatmap等高階函式(higher-order function)。
  2. 了解上述函式如何取代for迴圈,把外部迭代改為內部迭代來提升可讀性。
  3. 了解惰性/急性求值,以避免在使用上述函式時寫出效能不佳的程式碼。
  4. 了解如何自訂收集器來因應更複雜的情況。
  5. 了解可以簡單地把上述函式轉成平行版本,以及平行相關的效能議題。

所以如果你是

  1. 沒聽過map/reduce/filter/flatmap等等高階函式。
  2. 知道上述函式卻不知道可以用在哪裡,或從來沒在實際程式上用過。
  3. 知道上述函式卻覺得用for寫比較直覺。
  4. 知道上述函式卻擔心經過多次轉換效能不佳。
  5. 簡單來說就是高階函式初學者XD

都非常推薦這本書,才三百多塊我覺得蠻值得。

另外這本書雖然也有提到Functional Programming(簡稱FP),但我對FP的了解還太過粗淺,實在不確定這本書到底涵蓋了多少FP的基礎。
不過以直覺判斷應該是非常少XD,所以下一步應該會再去找一些關於FP的書籍或課程來閱讀。
如果大家有推薦的FP相關書或課程也請不吝指教。