學(xué)習LISP(零): 啟動SICP計劃

SICP與編程之道

SICP(Structure and Interpretation of Computer Programs)是MIT給電子和信息類專業(yè)的本科生開的入門課程,如書中開篇所說,它所著眼的不是具體介紹某一種編程語言,也不是針對特定的問題提供優(yōu)化的算法。這與一提到計算機類的課程,我們往往會想起的C語言程序設(shè)計、數(shù)據(jù)結(jié)構(gòu)等等都不一樣。這本書其實更偏向于開發(fā)程序的“道”,而不是“術(shù)”。

關(guān)于這個“道”,其實也不是需要很復(fù)雜的語言才可以闡述的。一個偉大的念頭,應(yīng)該都是可以簡單地說清楚的。當然,為了實現(xiàn)它,需要持之以恒的努力,以及應(yīng)對現(xiàn)實問題的無數(shù)技巧。這個道,簡單來說,就是“抽象”。

關(guān)于抽象,其實用生物體來做部分,是最形象不過的了。我們知道,組成生物的最小單元是細胞,細胞可以分裂、凋亡、代謝、與內(nèi)環(huán)境交流物質(zhì),這些是基礎(chǔ)的功能。我們?yōu)榱藢崿F(xiàn)一個特定的功能,就需要把細胞整合起來,形成組織,這樣我們就有了上皮組織、肌肉組織等等。為了得到能完成更復(fù)雜任務(wù)的能力,各種組織會聯(lián)合起來,形成器官,例如胃、肝臟。這些器官會被整合起來,形成系統(tǒng),例如消化系統(tǒng)。最后,這些系統(tǒng)合在一起,形成了一個生物。

這就是一個由下而上建立起復(fù)雜系統(tǒng)的案例。細胞是最底層的,組織是建立在細胞之上的一個層次,研究器官時我們關(guān)心的是組織的結(jié)合方式,研究系統(tǒng)時我們則只關(guān)注器官的結(jié)合方式,而最終研究生物體的時候,我們更多時候會關(guān)注它是怎樣呼吸、怎樣相應(yīng)外界刺激,這就是從系統(tǒng)的層面來研究的。越往上,我們關(guān)心的東西就越高級,也越抽象。

LISP,就是一個像生物一樣的語言,在你編寫的時候,它會很自然地從底層最簡單的運算符開始,不斷形成復(fù)雜的高層功能。其實所有的編程語言都涉及了抽象,LISP在這一點上不是獨樹一幟的,不過SICP選用LISP作為編程語言,是看中了它簡潔的語法和靈活的擴展性,在之后的學(xué)習中我們會感受到這一點的。

Scheme

SICP中用到的語言,其實是LISP中的一個分支,叫做Scheme。它是MIT的Guy L. SteeleGerald Jay Sussman在上個世紀70年代開發(fā)出來的,再詳細的也可以先不管啦,我們先看看它的語言特性吧。

  • LISP
    它是LISP的分支,所以具有LISP應(yīng)該有的特性。函數(shù)式編程,LISP風格的語法,解釋性的編程方式。總而言之,Scheme作為一個學(xué)習LISP的起點,是非常合適的。
  • 簡潔
    它與LISP的另一大分支Common Lisp不同的是,它只保留了核心的功能,所以它的語法非常簡單,可能只需要數(shù)十分鐘就可以徹底解釋清楚。但是,簡單的語法意味著,它不會是一個萬能的工具包,調(diào)用一兩個函數(shù)就能完成復(fù)雜的功能是不可能的。它提供的是基本元素,而你必須要扮演一個創(chuàng)造者的身份。這對于一個從0開始,對編程這件事本身充滿興趣的孩子來說,豈不是正好?

說到這里,我該放兩個鏈接了
官網(wǎng):SICP
Scheme下載(Windows):MIT Scheme 9.0
Scheme下載(Mac):MIT Scheme 9.0

說明下:之所以用9.0版本而不是最新的9.2,是因為Windows下有已知的bug,讀取文件之后buffer里面是空白的。

安裝很簡單,就不說了,但是打開之后我們可能會茫然地發(fā)現(xiàn),自己正面對著一個提示寥寥的白茫茫的編輯器。下一篇我們再看,到底怎么用Scheme編程。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,619評論 6 539
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 99,155評論 3 425
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 177,635評論 0 382
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,539評論 1 316
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,255評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,646評論 1 326
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,655評論 3 444
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,838評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,399評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 41,146評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,338評論 1 372
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,893評論 5 363
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 44,565評論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,983評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,257評論 1 292
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,059評論 3 397
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,296評論 2 376

推薦閱讀更多精彩內(nèi)容

  • 人工智能編程范式:Common Lisp案例學(xué)習Peter Norvig 前言 范式(paradigm):名詞,一...
    geoeee閱讀 1,789評論 7 13
  • 第一部分Common Lisp介紹第1章 介紹一下Lisp你在學(xué)的時候覺得已經(jīng)明白了,寫的時候更加確信了解了,教別...
    geoeee閱讀 2,992評論 5 8
  • 作者:@蕭井陌, @Badger自由轉(zhuǎn)載-非商用-非衍生-保持署名 | Creative Commons BY-N...
    everfight閱讀 3,401評論 1 26
  • 原文鏈接:編程入門指南 v1.0 作者:@蕭井陌 @Badger 2015年2月18日 v1.0 更新 前言 如今...
    Badger23閱讀 10,037評論 12 271
  • 這篇文章轉(zhuǎn)自知乎,作者是@蕭井陌@Badger,文章地址我是地址。 前言 如今編程成為了一個越來越重要的「技能」:...
    hmaccelerate閱讀 3,151評論 4 128