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個月



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章