最新要闻

广告

手机

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

家电

编程与类型系统读后总结与感想

来源:博客园

1.基本信息

编程与类型系统Programming With Types:Examples in TypeScript

[美] 弗拉德·里斯库迪亚(Vlad Riscutia) 著,赵利通 译

机械工业出版社,2021年1月出版


(资料图片仅供参考)

1.1.读薄率

书籍【真实】字数17.5万字,笔记总字数19299字。

读薄率19299÷175000≈11.03%

较之C#代码整洁之道高出不少,主要原因有两方面:

  1. 统计口径差异,版权页上没有书籍总字数,采用的是真实字数,这个数值较低。分母变小。
  2. 笔记数量翻倍,这是实打实地,从另一个侧面也说明了这本书内容更扎实。分子变大。

结果,读薄率陡增。

1.2.读厚方向

  1. 函数式编程思维

  2. Java 8函数式编程

  3. Functional C#

  4. Functional Programming in C#

  5. Learning Java Functional Programming

1.3.笔记--章节对应关系

笔记和章节一一对应,没有合并同类项,也没有章节调序,仅仅是每个章节内部进行了部分调序,就不一一列举了。

2.亮点

2.1.开拓视野

  1. 提供了观察其他语言的视角,尤其是TypeScript语言。

  2. 引入了抽象代数、柯里–霍华德(Curry-Howard)对应、范畴论、函子、单子等数学概念。

  3. 对混入Mixin和可变性做了较详细的介绍。

2.2.丰富、细致的类型介绍

不论类型是否常见,讲其然,也讲其所以然。

个人觉得比较重要的类型如下:

  1. 空类型

  2. 单元类型

  3. 可选类型

  4. 和类型

  5. Either类型

  6. 变体类型

2.3.unicode构成

  1. 字符(character)

  2. 字形(glyph)

  3. 书写位(grapheme)

3.感想

3.1.经典永流传

好的计算机书籍是可以超脱语言和版本升级的影响而历久弥新的。

3.2.让子弹飞一会也不是太好

做完读书笔记,不会立刻写总结和感想,而是让子弹飞一会,沉淀一周左右才总结,此时留下的才是自己觉得重要的。

在《C#代码整洁之道》和《编程与类型系统》之间还没有什么问题,也没有冲突。

但是在《编程与类型系统》和《函数式编程思维》,也就是扩展阅读的书籍之间,强关联了,原来觉得重要的点,也就被冲淡了。

原来亮点的地方,现在看来也就是函数式编程的基本知识点了。

3.3.作者选择TypeScript作为示例语言是有考量的

高级章节中无法示例的代码,Haskell可以,但是如果选择Haskell作为示例语言,受众受限。

Java、C#用户众多,但是类型系统没有TypeScript丰富,而且TypeScript作为JavaScript的升级,用户也可以说是众多。

选择TypeScript除了高级类型无法示例外,大部分都能示例,而且语法层面上也是能接受的。

3.4.读好书、好读书、读好多书

以一本书为原点,朝着一个方向去选择、读取经典书籍,收获颇丰。

有些书,讲得云里雾里的东西,能够豁然开朗,敞亮了。

3.5.如何读原文

  1. 如果为了学习TypeScript语言,这本书不算太好。

  2. 如果是为了了解类型系统(不仅仅是TypeScript语言的),则推荐阅读。

大部分编程语言的语法书都是简要的介绍数据类型,知其然,不知其所以然;告诉你怎么用,不告诉你为什么这样用,而这本书恰恰解答了为什么。

关键词: 类型系统 让子弹飞 基本信息