《编码》读书笔记
前几章引人入胜,通俗易懂,很喜欢讲解计算机原理的过程中加入的历史叙事。后半部分关于电路的介绍相当“硬核”。
第一章
了解到一个有趣的轶事:二战期间 BBC 会播放贝多芬第五交响曲开始的那四个音,那个寓意是 Victory。
第二章:Morse Code
Morse code 联想到了霍夫曼码,霍夫曼和 input data 有关,而 Morse 根据西文字母出现的频率经验而来,比如字母 e 出现频率较高,对应的 morse code 也较短。
但 Morse 不像霍夫曼那样 prefix free,所以需要手动加入间隔。不知道 morse 设计成 prefix free 会不会更好些?
A prefix-free code requires there is no whole code word in the system that is a prefix (initial segment) of any other code word in the system.
For example,
is a prefix-free code, while {9, 55}
{9, 5, 59, 55}
is not.
Morse 是个非常好的例子,深刻揭示了计算机信息存储的本质即 bits+context,这也是本书书名 Code 所要传达的核心。
第三章:Braille
关于盲文的设计,起初有人设计成字母的样子,没有很好把握住痛点,陷入了思维的局限。
最终还是这位 Louis Braille 虽幼年遭遇不幸失明,但心中求知的光明冲破黑暗,留下来传世的发明。
为了追求编码的精简,一些 contraction 的设计非常有趣。
第四、五、六章:电
电的物质基础是电子的移动,唤醒了一些残存的中学物理的记忆。作者对电的介绍得非常好,深入浅出。
第七、八章:进制
介绍了进制和二进制,第一次看到二进制乘法,记录关于数字的单词:
数字 | 单词 |
---|---|
2 | binary |
3 | ternary |
4 | quaternary |
5 | quinary |
6 | senary |
7 | septenary |
8 | octal |
9 | nonary |
10 | decimal |
16 | hexadecimal |
第九章:胶卷、条形码的编码
胶卷的例子感觉有点过时了。另外可以看下二维码。
感受到的这本书的历史轶闻,比如第九章一开始的英军入侵的歌谣以及各位发明家的生平,让人感受到计算机发明的线索和灵感隐匿在人类文明发展历程中。
第十章
用 + 和 × 表示「或」和「与」感觉挺有趣,像 Algebraic Data Type:sum type / product type。
第十一、十二章
介绍了逻辑门和 adding machine (应该就是 ALU)。adding machine 那块感觉一开始还有点难理解 …
从这里开始 code 有点像 Nand to Tetris 这本书了,Nand to Tetris 更加注重动手实践。
第十三章
如何做减法,有点像这两写的 klisp 的考虑,提供哪些 primitive 的操作,比如有了在运行时提供加法了以后,减法以及其他操作是不是可以在 library 实现。
不过为了简单起见,现在四则运算都直接提供了。
回到本章,似乎介绍了两种思路,后一种用 two’s complement 应该更加重要一些。
第十四章:Flip-Flops
简直神(fei)奇(jie)。
第十五章:Bytes and Hex
相对熟悉的内容。
第十六章:内存构造
超级复杂。
第十七
CSAPP 等关于组成原理的书一般从软件这一边看软/硬件接口,这本是似乎是从硬件这边看。
电路部分照旧还是太复杂,很多都跳过去了,作者自己也在开篇就说细节很多,可以跳过一些。
第十八章:计算机发展历史
冯诺依曼的存储程序、半导体的相关知识等。
第十九章:两个经典微处理器
- 英特尔的 8080 (x86 的先驱)和
- 摩托罗拉 6800,后者的后代 68000 用在了初代 Mac 上
第二十章
关于字符编码,从 ASCII 到 Unicode。UTF-8 解决了最后说的存储空间翻倍的问题,但书中没有提到,估计是出版时间较早的原因。
补充一下:http://www.ruanyifeng.com/blog/2007/10/ascii_unicode_and_utf-8.html
第二十一章
关于电路的内容,跳过了很多
第二十二章:操作系统
从 IO 和文件系统开始讲解。
第二十三章:定点数和浮点数
CSAPP 更加系统细致一点,关于浮点的硬件历史可以看看。
第二十四章:编程语言
可以了解一些古董语言的历史。
第二十五章:多媒体
Object-Oriented language 与 GUI 的关系。