• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            CG@CPPBLOG

            /*=========================================*/
            隨筆 - 76, 文章 - 39, 評(píng)論 - 137, 引用 - 0
            數(shù)據(jù)加載中……

            推薦 SICP

            我為什么推薦 SICP?

            向大家推薦 SICP,不知道有多少人看了,也不知道有多少人明白了,更不知道有多少人驚嘆了。或者你根本不屑一顧,或者你看見(jiàn) Lisp 那層層括號(hào)心生畏懼,又或者你了了一瞥,覺(jué)得沒(méi)什么精彩之處。那我真的很失望。

             
            我為什么要推薦SICP,而且為什么如此執(zhí)著?這本不算厚的書(shū)帶給我的觀念,是從未有過(guò)的,是關(guān)乎于軟件本質(zhì)的。曾幾何時(shí),我覺(jué)得我看到了計(jì)算機(jī)編程書(shū)中沒(méi)有的哲學(xué)觀,但這一次我的夢(mèng)破滅了,那些已經(jīng)被寫(xiě)進(jìn)書(shū)里差不多快 30 年了。
             
            對(duì)于 SICP,我真正算看完的,恐怕只有第一章。我現(xiàn)在就來(lái)談?wù)勎业男牡茫栽俅蜗蚰阏宫F(xiàn)這本書(shū)的魔力。
             
            第一章作為基礎(chǔ),作者并沒(méi)有象后續(xù)章節(jié)寫(xiě)太多的軟件思想,主要還是介紹 Scheme 語(yǔ)言,所以草草看去,沒(méi)什么精辟之處。不過(guò)在第一章中,作者用了大量的篇幅來(lái)探討數(shù)學(xué)問(wèn)題,因?yàn)樗胂蚰憬沂境绦蛟O(shè)計(jì)中的核心哲學(xué):抽象。而數(shù)學(xué)無(wú)疑是最好的例子。
             
            了解數(shù)學(xué)史的人,應(yīng)該知道整個(gè)數(shù)學(xué)史,就是一個(gè)不斷抽象的歷史。古希臘人將字母引入計(jì)算,使數(shù)學(xué)不再只是算術(shù),而且具有表達(dá)抽象規(guī)則的能力。近代數(shù)學(xué)對(duì)函數(shù)和微積分的探求中,用 f(x) 替代了多項(xiàng)式表達(dá)式,函數(shù)更一般了,然后 n 維空間、復(fù)分析、映射、泛函,抽象代數(shù)、群論,等等等等,直到集合論,摧毀了數(shù)學(xué)的基石,使數(shù)學(xué)界再次陷入沉思。
             
            構(gòu)造程序的方法也是抽象。從最簡(jiǎn)單的元素開(kāi)始,基本元素(自演算表達(dá)式,包括數(shù)字,字符串和布爾值),然后定義基本過(guò)程(基本運(yùn)算符,四則運(yùn)算和布爾運(yùn)算),進(jìn)一步,自定義標(biāo)識(shí)符(如同代數(shù)),再自定義過(guò)程(函數(shù)),再將過(guò)程作為值參與運(yùn)算(高階過(guò)程)。一步步的抽象,形成了整個(gè)程序的結(jié)構(gòu)。而我們編程,無(wú)非就是從現(xiàn)實(shí)世界抽象出模型,再將模型不斷的提煉抽象,屬性、方法、類(lèi)、繼承、層次、框架。
             
            編程就是一個(gè)不斷抽象的過(guò)程。我再次把作者在第一章末寫(xiě)下的結(jié)論抄在這里,作為最后的注腳。
             
            “作為編程者,我們應(yīng)該對(duì)這類(lèi)可能性保持高度敏感,設(shè)法從中設(shè)別出程序中的基本抽象,基于它們?nèi)ミM(jìn)一步構(gòu)造,并推廣它們以創(chuàng)建威力更強(qiáng)大的抽象。當(dāng)然,這并不是說(shuō)總應(yīng)該采用盡可能抽象的方式去寫(xiě)程序,程序設(shè)計(jì)專(zhuān)家們知道如何根據(jù)工作中的情況,去選擇合適的抽象層次。但是,能基于這種抽象去思考確實(shí)是最重要的,只有這樣才可能在新的上下文中去應(yīng)用它們。高階過(guò)程的重要性,就在于我們能顯式地用程序設(shè)計(jì)語(yǔ)言的要素去描述這些抽象,使我們能像操作其他計(jì)算元素一樣去操作它們。”

            posted on 2008-03-18 21:57 cuigang 閱讀(16067) 評(píng)論(15)  編輯 收藏 引用 所屬分類(lèi): 雜談Lisp/Scheme

            評(píng)論

            # re: 推薦 SICP  回復(fù)  更多評(píng)論   

            Alan perlis 的序?qū)懙暮苡形兜?。?jì)算機(jī)從誕生出來(lái)就是靠抽象的,但顯然這本書(shū)給我門(mén)的啟發(fā)更多。習(xí)題答案在 ocaml.cn上有比較全的。
            2008-03-19 09:19 | kong

            # re: 推薦 SICP  回復(fù)  更多評(píng)論   

            @kong
            謝謝 kong 提供了一個(gè)連接給我,我會(huì)去看的,我已經(jīng)把它收藏到我的連接中去了,也謝謝你瀏覽我的blog
            2008-03-19 13:58 | cuigang

            # re: 推薦 SICP  回復(fù)  更多評(píng)論   

            這本書(shū)不好買(mǎi)啊,我好不容易找到一本,準(zhǔn)備n年后逼我的子孫學(xué)
            哈哈
            我覺(jué)得下面這本書(shū)更無(wú)敵
            Concepts.Techniques.and.Models.of.Computer.Programming
            2008-03-19 16:51 | haskell

            # re: 推薦 SICP  回復(fù)  更多評(píng)論   

            做它的習(xí)題很有挑戰(zhàn)性啊.
            當(dāng)時(shí)看書(shū)的時(shí)候還不知道網(wǎng)上有網(wǎng)友的答案, 做的很頭疼呢.
            2008-03-19 18:10 | dawn.soup

            # re: 推薦 SICP[未登錄](méi)  回復(fù)  更多評(píng)論   

            @haskell
            下了個(gè)Concepts Techniques and Models of Computer Programming的電子版,翻了一下,太厚了,5年以后再看吧,實(shí)在是沒(méi)時(shí)間呀。
            2008-03-19 21:39 | cuigang

            # re: 推薦 SICP[未登錄](méi)  回復(fù)  更多評(píng)論   

            @cuigang
            你強(qiáng)烈推薦的一定要試試!
            不過(guò)不知道需要什么預(yù)備知識(shí)?我對(duì)于SICP沒(méi)有概念。另外,這本書(shū)全名是什么?
            2008-06-23 09:10 | raof01

            # re: 推薦 SICP  回復(fù)  更多評(píng)論   

            @raof01
            除了數(shù)學(xué),只是需要耐心。《計(jì)算機(jī)程序的構(gòu)造和解釋》、The Book、purple book。
            2008-06-23 22:44 | cuigang

            # re: 推薦 SICP[未登錄](méi)  回復(fù)  更多評(píng)論   

            @cuigang
            謝謝!可我數(shù)學(xué)不行怎么辦?
            2008-06-24 09:13 | raof01

            # re: 推薦 SICP[未登錄](méi)  回復(fù)  更多評(píng)論   

            @raof01
            基本數(shù)學(xué)知識(shí)就行。
            2008-06-27 21:19 | cuigang

            # re: 推薦 SICP  回復(fù)  更多評(píng)論   

            第一章看了兩節(jié)了..找DrScheme里的runtime方法找到你這的..

            確實(shí)是好書(shū)..值得推薦
            2008-07-09 14:03 | mj

            # re: 推薦 SICP[未登錄](méi)  回復(fù)  更多評(píng)論   

            就看了第一章別亂寫(xiě)
            2008-09-24 14:24 | jeffrey

            # re: 推薦 SICP[未登錄](méi)  回復(fù)  更多評(píng)論   

            @jeffrey
            請(qǐng)指教
            2008-09-24 21:07 | cuigang

            # re: 推薦 SICP  回復(fù)  更多評(píng)論   

            @cuigang

            re
            2009-02-18 14:49 | 感受男

            # re: 推薦 SICP  回復(fù)  更多評(píng)論   

            國(guó)內(nèi)只有洪峰大師在黑客道教學(xué)中采用Scheme,聽(tīng)了他的授課真的感覺(jué)很爽。
            2012-01-22 09:43 | 楊小波

            # re: 推薦 SICP  回復(fù)  更多評(píng)論   

            最近馬虎看過(guò)一遍,習(xí)題沒(méi)做,比你差遠(yuǎn)了。正在用C++寫(xiě)解釋器,純粹玩具。要多來(lái)這里學(xué)習(xí)。
            2012-04-20 17:03 | coreBugZJ
            97超级碰碰碰碰久久久久| 国产精品久久精品| 精品久久久久一区二区三区| 情人伊人久久综合亚洲| 久久久久国产精品| 久久夜色撩人精品国产| 国产成人无码精品久久久性色 | 亚洲国产精品久久久久网站| 国产午夜精品久久久久九九电影| 久久精品国产WWW456C0M| 青青草原综合久久大伊人| AV无码久久久久不卡网站下载| 久久精品国产清自在天天线| 欧美精品国产综合久久| 亚洲精品高清国产一久久| 久久无码专区国产精品发布| 伊人久久免费视频| 久久久久久精品成人免费图片| 久久免费视频网站| 久久免费看黄a级毛片| 狠狠综合久久综合中文88| 国产精品久久午夜夜伦鲁鲁| 久久亚洲国产成人影院| 亚洲成色999久久网站| 免费久久人人爽人人爽av| 88久久精品无码一区二区毛片| 欧洲精品久久久av无码电影| 无码任你躁久久久久久久| 欧美久久精品一级c片片| 日韩精品久久久久久免费| 久久播电影网| 色综合久久天天综合| 97久久综合精品久久久综合| 亚洲αv久久久噜噜噜噜噜| 久久人人爽人人爽人人片AV不| 日韩十八禁一区二区久久| 精品久久久久久国产三级| www.久久热.com| 国产精品岛国久久久久| 久久国产精品一区二区| 久久久久久久99精品免费观看|