“这些思想可能不会立即改变你工作的方式,但我希望它们已经满足了你的某种好奇心,并且能帮助你享受在宇宙中实现计算时所度过的时光”

这本书在我刚选择编程作为毕业后的工作的第一年就买了,现在已经是第7个年头了,这本书也陪我从上海到杭州,终于今天把它读完了。在今天读到这本书既是不幸的又是幸运的,不幸的是相见恨晚,恨不得没有早点读到这本书,幸运的是在我有了多年的编程经验后,更能享受到对计算本质的探寻的纯粹的享受。

对于非科班(或者像我一样荒废大学时光的伪科班),如果你读不动厚厚的龙书(《编译原理》),建议你翻开这本书,并且跳过后面部分较为晦涩的内容,享受纯粹的探求计算本质的精华。无Ruby编程经验也丝毫不妨碍你理解书中提供的示例程序(但是确实到了第7章后阅读程序会非常吃力,需要多费些功夫,但是这不是编程语言的问题,恐怕换成你常用的语言,依然一样烧脑)。读完后你会对编程语言的实现机制更有实感,也会对近期很火的PUA-LANG的实现方式有高屋建瓴的预判。

推荐搭配这本书服用的(一样浅显易懂)是《穿越计算机的迷雾》,补足本书对硬件实现描述的缺失。

不可否认的是读到最后,对于我们日常写的代码的正确性产生了本质上的怀疑,但是所谓的人类一思考,上帝就发笑,我们自行探求自己的意义这个行为,本身就是不可判定的。

再去看看哥德尔第一不完备定理,Kleene第二递归定理这些前人留下来丰功伟绩,我们作为后来的平凡人能够享受在宇宙中实现计算时所度过的时光就好。

这不就是一件最为幸福的事了么。