《Code》不是教材
这篇书评可能有关键情节透露
《Code: The Hidden Language of Computer Hardware and Software》在豆瓣与亚马逊上的评分与赞誉都极高。读后想表达的观点如下:
《Code》是一本解释计算机工作原理的通俗读物,非教材,非科技专著,是科普著作。因为是科普,以前不曾是、以后也不会是“大学计算机组成原理的替代品”,更不要拿它来与[CSAPP](https://book.douban.com/subject/26912767/)并列对比。因为它是科普,所以,用它来佐证“大学的教材思路全错”是不正确的判断,即使大学的教材思路确实全部都是错的。
《Code》讲解了若干计算机入门理论,这些理论内容并不充分,远不足以包含计算机专业大一新生的《计算机科学导论》课的知识点。换句话说,即使你把《Code》读懂读透,《计算机科学导论》考试还是不及格,就更别提《数字逻辑电路》或者《计算机组成原理》了。作者为了保持该书的通俗性、可读性,在若干知识点上做了许多无效的努力,包括:第19章微处理器,第22章操作系统,第24章程序设计语言,第25章图形。对于这些重要的知识点,该书的讲述既不充分也不清晰。
《Code》同时也花了大量的篇幅讲解了许多非计算机理论知识,包括:摩斯码、盲文、手电筒的结构、电流电压安培瓦特......当然,还有算盘。这些内容以大概率不会出现在大学课堂。值得注意的是,这些内容在《Code》这本书占据了大量篇幅(第1章到第9章),也是作者的通俗表达可以发挥作用的章节。因为要保持通俗性可读性,到第9章才讲解二进制。之前讲了什么?第1章讲故事、第2章讲摩斯码、第3章讲盲文、第4章讲手电筒(电池电线电流)、第5章灯泡加电线、第6章讲电报、第7章讲十进制......用全书1/5的篇幅讲解这些内容,确实很通俗,以下这幅图(第10章第一页)多少可以说明其通俗的程度:
最后,也许还可以苛责《Code》有一个重大的缺陷:没有任何一本参考文献。也就是说,这是一本自包含的书,而且从这本书出发,你的求知欲没办法延伸开来。你看了这书,依然不知道计算机组成原理、操作系统、程序设计应该怎么学,应该看什么书,这些知识点的重点难点是什么......当然,这与其定位有关,它是一本科普书,非专业书。
我给计算机专业读者的建议是,任何时候都不要把这本书当作专业书籍进行阅读。要入门计算机科学,可找相关教材,比如:[CSI](https://book.douban.com/subject/17460182/) ,或者[CSO](https://book.douban.com/subject/6862061/)。要找乐子,看科普,这本书也不列在优先选择的范围。