函数式编程思维读后总结与感想
1. 基本信息
函数式编程思维 Functional Thinking
[美] 福特(Neal Ford) 著,郭晓刚 译
人民邮电出版社,2015年8月出版
1.1. 读薄率
书籍总字数242千字,笔记总字数9983字。
读薄率9983÷242000≈4.13%
统计口径恢复到版权页书籍总字数,读薄率又下来了。
1.2. 读厚方向
-
Java 8函数式编程
-
Java实战(第二版)
-
Learning Java Functional Programming
-
Functional C#
-
Functional Programming in C#
1.3. 笔记--章节对应关系
笔记 | 章节 | 字数 |
读函数式编程思维笔记01_演化的语言 | 第1章 为什么 第5章 演化的语言 |
2336 |
读函数式编程思维笔记02_转变思维 | 第2章 转变思维 | 1381 |
读函数式编程思维笔记03_权责让渡 | 第3章 权责让渡 第4章 用巧不用蛮 |
2530 |
读函数式编程思维笔记04_语言与范式_模式与重用 | 第8章 多语言与多范式 第6章 模式与重用 |
1907 |
读函数式编程思维笔记05_现实应用 | 第7章 现实应用 | 1829 |
总计 | 9983 |
2. 亮点
2.1. 学会用另一种方式去思考
学语言、学语法易,但是学会用另一种方式去思考难,尤其在不是白纸一张的情况下,很容易受到命令式编程或者OOP的影响。
2.2 语言设计者拥有上帝视角
语言设计者可以无视他们给语言定的规矩,开发者无法触碰的底层设施,不过是语言设计者手中的玩物,他们拥有的优化手段和空间是“凡人”无法企及的。
2.3. 让运行时去管理状态
Java接管内存分配减轻了我们的负担,消除了垃圾收集的麻烦;Clojure抹去了并发的麻烦。将低层次细节(如垃圾收集)的控制权移交给运行时,从而消弭了一大批注定会发生的程序错误。
放弃对繁琐细节的掌控,关注问题域,而非关注问题域的实现在,这是交出控制权的观点。
2.3 元编程
函数式编程和元编程是正交的,使用元编程并不妨碍我们使用函数式编程的语言构造。
3. 感想
3.1. 尽信书,不如无书
尽信书,不如无书,不过,还是要多读书,多思考,多方位,多角度相互印证。
3.2 不重复造轮子,不随便选轮子
语言设计者可以无视他们给语言定的规矩,拥有的优化手段和空间是“凡人”无法企及的,大部分情况下他们设计的东西更加高效,但是君不见蓬勃发展的第三方库,语言自身不断版本迭代更新、兼容并蓄取百家之长,以及那些obsolete API。
有现成的最好就用现成的,但是要Double Check,要测试测量。