提到这本书,就不得不提Dan Friedman的EOPL。我大致读过一些,还没读完。
明显这个书对于程序员来说可能要更容易access一点。这本书里面有很多对于其他语言例如java,c的特性的分析比较,然后再把这些特性在解释器里实现出来。自己做一遍就会有一种恍然大悟的感觉,我读完了以后觉得那些语言特性也没什么神秘的了,因为自己也可以实现出来。在brown大学这门课的大作业是写一个python。没错,真的是写一个python,虽然大作业不要求实现python所有的特性,但是学生可以自己选择全都实现。 哪个程序员能抵挡自己实现一个编程语言的诱惑呢?
Friedman的书要更形式化一点,也要更深入一点。他也不喜欢具体分析语言的特性,但这本书里面肯定都覆盖到了,其他语言的特性怎么映射到这本书里的概念,就需要读者自己领悟了。
两本书都是好书,我觉得可能先读这本,再读Friedman的那本,可能更容易一点。