C开发者眼中的SICP学习

本文作者作为C开发者,分享了学习SICP的体验。第一章除了语言原型系统、组合和抽象,其他内容对C程序员来说差异不大。第二章的数据抽象在C中也有类似玩法,重点是2.3节的符号系统。第三章的序列化技术在C项目中有应用。第四章的解析器实现采用自上而下风格,但缺少词法分析和性能优化讨论。第五章是精华,有助于理解计算机模型。作者建议学习时间:第1-3章约1个月,第4章1-2个月,第5章3-6个月。
摘要由CSDN通过智能技术生成

谈谈自己看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系统的管道思想, 或者消息队列思想。 消息队列事实上是序列化

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值