读书人

小弟我的Lisp学习之路(序)

发布时间: 2012-09-22 21:54:54 作者: rapoo

我的Lisp学习之路(序)

按照之前的博文中所提到的编程语言体系,我现在开始要迈开第一步,开始Lisp的学习。

在学习的过程中,主要涉及到Lisp的两大方言,一个是Common Lisp,一个是Scheme.学习的资料是SCIP和the roots of Lisp,以及网上众多资料。

在这个地方,我要强烈表达对MIT的敬意,出了SCIP一本这么好的书。平时的书,大多数是列出一系列的理论,然后讲讲这些理论的用法。我还从没有遇见这么一本书,它在引导你的思考,在看书的过程中,会激发着人跟着一起 探索,当大脑中出现一个个的为什么的时候,你会惊奇的发现,接下来的内容就是给你的解答。周围的人,一直告诉我们,别人做过的事情,不用再做,直接拿着别人的结果使用即可。却殊不知,重造轮子却是一个非常必要的过程,我们并不是拿来使用,而是在这个重造的过程当中,让自己的理解变得深刻,让我们的思维能够真正的站立。而不是仅仅建立在别人给出的几个结论而已。

后面我还会专门写写博文,来介绍SCIP当中学习的心得,这里先切回正题。

Lisp的学习按照编程体系,被我划分为如下具体过程:

一、核心内容、解释器知识的学习。

    根据the roots of lisp的内容,在清晰了解lisp 的核心体系的基础上,写出一个Common Lisp的求值器。根据SCIP的内容,对于写好的LISP求值器进行抽象,使求值器不局限于具体的语法形式,达到通用模型的效果。完善和 优化求值器的实现,将一些没有考虑到的问题解决,让求值器变得更加高效。在建立好求值器的基础上,修改求值器去尝试构建不同的求值模型,实现自己的LISP方言。构建一个基础计算机模型,在以一种类似汇编语言的基础上,完成对整个求值器最基础实现模型的深入了解。

二、相关语法、项目的练习。

1.使用LISP构建一个自己的服务器,参考Practical Common Lisp,完成一个小型文艺音乐电台网站。

2.适量的阅读On Lisp(后期再具体规划).

可以看到,最主要的时间将会耗费在第一个内容上,它的完成程度,决定你的理解深度。另外一方面,因为刚刚开始系统化的学习,所以要学的东西非常多。在第一个内容中,不仅是学习Lisp求值器的写法,更是了解所有求值器的通用写法和通用模型,以及它们的底层基础,这个基础构建在我们自己设计的一个小型计算机系统上。当这一切学习完毕的时候,我们一定会感到酣畅淋漓。后面假若切入C语言的学习,第一部分的内容,我们就会融汇贯通,很快就能理解了。

以后,我也会写一个目录整理自己的学习笔记。

再次感谢MIT的SCIP这么一本好书,真希望毕业能去MIT。。。。

读书人网 >编程

热点推荐