计算机程序的构造和解释 - 图1

    关键字:求值环境,解释器,编译器,抽象,Scheme

    推荐:★★★★★
    难度:★★★

    豆瓣链接:https://book.douban.com/subject/1148282/


    我是读了这本书以后才系统的认识lisp的。
    从此陷入了万劫不复之地。

    为什么这么说呢?
    lisp语言本身并不难,但它会源源不断把未知传递给你。
    就好像从此打开了一扇金色的大门一样。

    然而,本书却不是介绍lisp语言的。
    语言只是工具,用来描述广阔的程序语言世界。

    望其书名,计算机程序的构造与解释,
    我后来觉得应该理解为,计算机程序的语法和语义。
    这一认识应该是从读了《Land of lisp》某章节后突然想到的。

    编程语言如何构造,是一个语法问题。
    编程语言如何解释,是一个语义问题。

    scheme是一门力求简洁的lisp方言。
    而如此简洁的语言,都可以描述出复杂的概念。
    例如,数据抽象,过程,状态。

    而建立在这些概念之上,又可以解决形形色色的实际问题。
    科学计算,约束传播,并发,流,解释器,编译器。

    这就给了我们一种暗示,简单的符号演算威力可能是无穷的。
    这也是形式系统和λ演算的魅力所在。
    诚如书中所言,编程就好像我们通过符号来控制计算机里的精灵。

    另外,本书很多文字,是具有深刻含义的,值得在学习生涯中回过头来重新阅读。
    后来想想,本书无处不包含着作者对计算本质的深刻认识。

    最后,我觉得很不幸的是,很多人都没能读完这本书。
    因为太追求完全理解它了。

    想起《Expert C programming》中所言,
    只有短命鬼,才希望在幼儿园中学会一切。

    所以,不妨先合上本书,打好数学基础。
    在有足够的基本功之后,再来攻克它吧。

    这,或许就是本书最大的魅力所在吧。