SICP 折騰之開發環境

最近一個月, 不管看沒看懂, 將SICP全文看了一遍, 大致理解了作者到底要講寫什麼東西,處理什麼問題。


本人推薦3次讀書法。 

第一次  不管看不看得懂    將全文全部看一遍, 看不懂的地方,標記什麼看不懂。 瞭解整本書的結構, 每一章主要講寫什麼東西, 面對什麼問題。

第二次   事無鉅細, 全部動手做一次, 務求完全理解。

第三次   用自己的語言,分析總結書中的內容, 儘量轉化爲自己的東西


很多人, 一看書, 前面幾章覺得很難, 後面就堅持不下去了。 這其實是自己最大的損失。任何一本書, 不管難易, 他要面對什麼問題, 用了什麼技術,

你總歸是能看明白的。 由於當前的技術能力, 的確有很多技術的實現很難理解。但這不代表以後就不能看懂。先不管3721,做個筆記, 給大腦做個鏡像,

總歸未來面對某個問題會想起來。


接下來, 就是做SICP的習題了, 這個就離不開開發環境了。

先是下載了MIT的開發環境, http://www.gnu.org/software/mit-scheme/

用了一下,發現真不是一般的難用。

關鍵命令: Ctrl + x c 退出編輯模式,進入命令行交互模式

                     (cd   "D:\\path")     進入自己的目錄

                     (load "xxx.lisp")    加載自己的程序


沒有辦法, 又下載了lispbox, 使用emacs寫代碼。

http://common-lisp.net/project/lispbox/

本來以爲, 兩個語言應該差不多, 結果第一次代碼就崩潰了。

(define a 3)

CL下報錯, 讓我莫名驚詫。 只能先放棄用CL直接做題。


另外, 補充一點, SICP絕對不是學習lisp語言的好書。

這本書, 只講了思想, 關於工程相關核心的細節講得一點都不具體。

比如, 變量是否區分大小寫, 由哪些符號構成, 有哪些內嵌函數。變量的生命週期等, 如何處理I/O, 如何Debug。

更關鍵的, 如何用lisp做實際項目, 編程規範, 單體測試, 集成測試等等。


看這本書之前, 推薦大家看看Scheme手冊

http://deathking.github.io/yast-cn/chapter1.html

然後看看 The Little Schemer


這樣,看SICP就會少很多彎路。我是看了Scheme手冊, 才發現作者第4章犯規了, 用了Scheme的詞法分析來寫Scheme解釋器。

這個, 你要是用來寫Java解釋器, 很多工作還是要從頭做。





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