谈谈自己看SICP的一些体会
第一章 构造过程抽象
这一章事实上和C语言全然等价, 不打算深入学习LISP的能够高速略过。
思想上没有太多新的东西。
这一章最核心的价值就是以下3句话, 理解了这一章就算看完了。
语言的原型系统
·怎样组合
·怎样提供高层抽象
这3句话是全部语言的核心。 基本上适用全部人。
后面的递归和迭代。 形式上和C区别大, 思想上事实上和C没多大区别。 高阶函数。 C的函数指针略微呕心了点,也凑合着能替代。
闭包, 用以下呕心的结构也能凑合替代。
typedef struct stClosureFunc {
void * ctx;
void* pFunc;
} ClosureFunc
总而言之, 不打算深入学习lisp的第一章1-2个小时能够高速略过。
(假设想转Lisp开发, 还是有必要花1-2个月做做题)
第二章
前面的数据抽象。 和C的玩法也没啥大差别, 熟悉的话不用花太多时间。
第二章主要要学的是2.3符号系统。C基本不提供。非常值得看看。能开拓视野。
第三章 关于序列化,这个在实际C项目中也大量用。 基本是共通技术。关于流。 想法非常新, 就不清楚详细项目上是否使用过。
C用的很多其它是Unix系统的管道思想, 或者消息队列思想。
消息队列其实是序列化和流技术的结合。
前面3章基本上是基础的东西。 第4章。 讲的是解析器实现。
採用的是自上而下风格。
非常有意思。
去年自己一直在研究编译器, 有些不一样的体会。 有点遗憾的是, 没看到词法分析。
有限状态机等正則表達式概念不知道lisp是怎样实现的。
还有一个非常遗憾的问题,是书中性能分析比較少。
怎样优化方面介绍的比較少。
第5章, 是精华, 也是这本书最值得学的章节。 对理解计算机模型本质非常有帮助。
个人体会 第1-3章看书加习题。大概1个月
第4章 1-2个月
第5章 3-6个月