計(jì)算機(jī)程序的構(gòu)造和解釋之筆記(一)

緣起

這是一本MIT的本科教材游盲,回想自己讀本科的時(shí)候一直想讀這本書,大概讀了10頁左右就放棄了蛮粮。后面讀研了讀了第一章益缎,做了一定習(xí)題,但是仍舊放棄了蝉揍。其中链峭,原因就不說,看來我也是拖延癥患者又沾。后面工作了弊仪,深感自己對(duì)事物抽象能力的弱熙卡,以及對(duì)自己沒能夠堅(jiān)持做一件事情而痛恨自己。所以開始看SICP一書励饵。

關(guān)于本書的書評(píng)

關(guān)于這本書的評(píng)論驳癌,這里就不多說了,再著不管什么樣的書役听,只有自己去讀去用才知道颓鲜。總之典予,對(duì)于本書的評(píng)論兩極分化甜滨,至于是哪一級(jí),各位自行判斷瘤袖,我這里僅僅提供一些其他相關(guān)的評(píng)論衣摩,如下:

構(gòu)造過程抽象概述

開始的時(shí)候就引用了John Locke的《有關(guān)人類理解的隨筆》中的一段話,話語十分簡(jiǎn)潔而且讓人受益捂敌,現(xiàn)在摘抄如下:

心智的活動(dòng)艾扮,除了盡力產(chǎn)生各種簡(jiǎn)單地認(rèn)識(shí)之外,主要表現(xiàn)在如下三個(gè)方面:

  1. 將若干簡(jiǎn)單認(rèn)識(shí)組合為一個(gè)復(fù)合認(rèn)識(shí)占婉,由此產(chǎn)生出各種復(fù)雜的認(rèn)識(shí)泡嘴;
  2. 將兩個(gè)認(rèn)識(shí)放在一起對(duì)照,不管它們?nèi)绾魏?jiǎn)單或復(fù)雜逆济,在這樣做時(shí)并不將它們合二為一酌予。由此得到有關(guān)它們的相互關(guān)系的認(rèn)識(shí);
  3. 將有關(guān)認(rèn)識(shí)與那些在實(shí)際中和它們同在的所有其他認(rèn)識(shí)隔離開纹腌,這就是抽象霎终,所有具有普遍性的認(rèn)識(shí)都是這樣得到的滞磺。

從上面這句話至少可以看出升薯,我們認(rèn)識(shí)事物或者對(duì)某件事情的理解可以通過組合、對(duì)照(比對(duì))击困、抽象隔離等思維手段搞定涎劈。而第一章中關(guān)于《構(gòu)造過程抽象》一章就是基本就是圍繞上面這段話寫。

基本要素

當(dāng)我們需要解決工作上阅茶、學(xué)習(xí)上還是生活上問題時(shí)蛛枚,往往需要知道一些基本的步驟,除非特別簡(jiǎn)單的問題可以一步搞定脸哀,否則需要將很多措施組合一步一步的解決蹦浦。在程序設(shè)計(jì)的世界,需要處理兩樣?xùn)|西:數(shù)據(jù)和過程撞蜂。與現(xiàn)實(shí)世界中得問題和措施很像吧盲镶。想想我們?cè)诮鉀Q問題時(shí)候是不是運(yùn)用了同John Locke描述的心智活動(dòng)侥袜。在用程序解決問題也是一樣的,如何去描述數(shù)據(jù)和對(duì)其操作的過程呢溉贿,畢竟計(jì)算機(jī)不懂我們所說的中文枫吧,它們之間溝通也有這一套語言,而這些語言必需有著三個(gè)基本元素:

  • 基本表達(dá)式:用于表示語言所關(guān)系的最簡(jiǎn)單的個(gè)體宇色;
  • 組合的方法:通過它們可以從較簡(jiǎn)單地東西出發(fā)構(gòu)造出復(fù)合的元素九杂;
  • 抽象的方法:通過它們可以為符合對(duì)象命名,并將它們當(dāng)作單元去操作宣蠕。

過程抽象

在有了基本要素之后例隆,就相當(dāng)于我們有了一些基本的工具了。在我們面對(duì)比較難或者大問題時(shí)抢蚀,自然而然會(huì)采取分解的動(dòng)作來解決裳擎,就如同“大事化小,小事化了”思币。如何將大事變成小事鹿响,作者使用了求某個(gè)數(shù)的平方根問題來說明,將解決此問題的步驟進(jìn)行分解谷饿,并且每一個(gè)過程完成了一件可以清楚標(biāo)明的工作惶我。這就是過程的抽象。

當(dāng)我們采用方案去解決問題的時(shí)候博投,就需要評(píng)估方法的時(shí)效性了〕窆保現(xiàn)實(shí)世界考慮的比較多,比如時(shí)間毅哗、人力听怕、資金等等。一旦涉及到人的活動(dòng)就會(huì)變得復(fù)雜起來虑绵。而計(jì)算機(jī)的世界里尿瞭,簡(jiǎn)化了很多,考慮時(shí)間和空間翅睛。畢竟人們關(guān)注機(jī)器啥時(shí)候給我干完活声搁,啥時(shí)候出結(jié)果,我們需要投入什么硬件啥的捕发。在我們學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)或者算法的時(shí)候都會(huì)使用一個(gè)叫大O的方法來描述疏旨。而書中都是直接根據(jù)步驟或者分析程序來來推導(dǎo),極為繁瑣扎酷。而本書的作者卻采用先描述過程的計(jì)算過程檐涝,也就是過程是怎么執(zhí)行的,執(zhí)行的形狀是啥,比如,線性谁榜、遞歸(先展開后縮)拉岁、樹型來描述,這一點(diǎn)超級(jí)棒惰爬,讓人看著舒坦喊暖。

知道時(shí)效之后,我們就會(huì)想能不能將解決問題的技巧推廣撕瞧,就會(huì)去抽象陵叽、概括。后面作者求函數(shù)的零點(diǎn)丛版、不動(dòng)點(diǎn)一步一步介紹如何將過程作為參數(shù)(如同生活中的條件)巩掺、返回值(如同其他的幫助)。

結(jié)束

總之页畦,我挺喜歡這本書胖替,現(xiàn)在一直在看,最近剛把第一章看完豫缨,書上的demo也罷還是課后習(xí)題都寫在我們電腦里面測(cè)試一番了独令。具體可以參考我的sicp項(xiàng)目

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末好芭,一起剝皮案震驚了整個(gè)濱河市燃箭,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌舍败,老刑警劉巖招狸,帶你破解...
    沈念sama閱讀 212,454評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異邻薯,居然都是意外死亡裙戏,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,553評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門厕诡,熙熙樓的掌柜王于貴愁眉苦臉地迎上來累榜,“玉大人,你說我怎么就攤上這事木人⌒攀粒” “怎么了?”我有些...
    開封第一講書人閱讀 157,921評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵醒第,是天一觀的道長。 經(jīng)常有香客問我进鸠,道長,這世上最難降的妖魔是什么客年? 我笑而不...
    開封第一講書人閱讀 56,648評(píng)論 1 284
  • 正文 為了忘掉前任霞幅,我火速辦了婚禮漠吻,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘扔傅。我一直安慰自己慢叨,他們只是感情好唐瀑,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,770評(píng)論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著插爹,像睡著了一般哄辣。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上赠尾,一...
    開封第一講書人閱讀 49,950評(píng)論 1 291
  • 那天力穗,我揣著相機(jī)與錄音,去河邊找鬼气嫁。 笑死当窗,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的寸宵。 我是一名探鬼主播崖面,決...
    沈念sama閱讀 39,090評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼梯影!你這毒婦竟也來了巫员?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,817評(píng)論 0 268
  • 序言:老撾萬榮一對(duì)情侶失蹤甲棍,失蹤者是張志新(化名)和其女友劉穎简识,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,275評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡七扰,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,592評(píng)論 2 327
  • 正文 我和宋清朗相戀三年奢赂,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片颈走。...
    茶點(diǎn)故事閱讀 38,724評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡膳灶,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出立由,到底是詐尸還是另有隱情轧钓,我是刑警寧澤,帶...
    沈念sama閱讀 34,409評(píng)論 4 333
  • 正文 年R本政府宣布拆吆,位于F島的核電站聋迎,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏枣耀。R本人自食惡果不足惜霉晕,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,052評(píng)論 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望捞奕。 院中可真熱鬧牺堰,春花似錦、人聲如沸颅围。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,815評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽院促。三九已至筏养,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間常拓,已是汗流浹背渐溶。 一陣腳步聲響...
    開封第一講書人閱讀 32,043評(píng)論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留弄抬,地道東北人茎辐。 一個(gè)月前我還...
    沈念sama閱讀 46,503評(píng)論 2 361
  • 正文 我出身青樓,卻偏偏與公主長得像掂恕,于是被迫代替她去往敵國和親拖陆。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,627評(píng)論 2 350

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