C开发者眼中的SICP学习

谈谈自己看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个月



你可能感兴趣的:(SICP)