posts - 176, comments - 240, trackbacks - 0, articles - 7

          關(guān)于抽象性的一些說明

          Posted on 2007-12-09 22:25 canonical 閱讀(1205) 評論(5)  編輯  收藏 所屬分類: 設(shè)計(jì)理論

              沒有人否認(rèn)抽象的意義,但是抽象是否就是抽象到無窮大,這是個可以明確定義的問題,也是數(shù)學(xué)領(lǐng)域正在解決的問題。在我們的思考中沒有明確定義何處是邊界, 沒有明確的限制,這便是導(dǎo)向無窮的一種思維方式,它和現(xiàn)實(shí)中是否真的允許消耗無限多的資源,創(chuàng)建無限多的對象無關(guān)。當(dāng)我們認(rèn)為自己明白了終極的意義,明白 了一種推向無窮的抽象,這并不是理解了世界的全部,我們?nèi)匀灰靼兹绾谓鉀Q一些更加小范圍,但是卻又普遍發(fā)生的事情。
          例如現(xiàn)在我的系統(tǒng)中只需要10個相互依賴的線程,如果我們定死了10這個數(shù)字,顯然我們可以發(fā)展一種這個領(lǐng)域特有的高效的一些算法結(jié)構(gòu)。而抽象到通用語言 中的時(shí)候,顯然我們只能假設(shè)線程數(shù)是任意大,或者是充分大的,而無法充分利用10這一領(lǐng)域信息,因此在這個意義上我說通用語言不是有效的。
          說到10這個確定的數(shù)字,不過是一種極端化的比喻。我常說概念是連續(xù)的,并不是非此即彼的,因此并不是從一種普遍情況到一種最特殊的情況之間不再有其他情 況了。在這中間環(huán)節(jié),存在著非常深刻的復(fù)雜的物理事實(shí)。但是這些事實(shí)卻又是某種有限性向我們揭示出來的。(請不要把這里的有限性理解為算術(shù)中的10以內(nèi))

          現(xiàn)在來一個理論推演吧:
          1. 任何系統(tǒng)都在一定約束下運(yùn)行,即它們需要符合某些約束條件
          2. 通用語言描述了某些結(jié)構(gòu),但是這些結(jié)構(gòu)是充分通用的,能夠應(yīng)用到盡可能廣泛的領(lǐng)域的
          3. 線程數(shù)=10這個約束過份特殊,顯然通用語言是不會考慮這個約束。實(shí)際上目前在通用語言設(shè)計(jì)中,無限資源假定基本都是默認(rèn)的。
          4. 我們承認(rèn)某些現(xiàn)實(shí)的約束通用語言是不會考慮的
          5. 在最特殊的,明顯不會考慮的約束以及非常通用,一般通用語言必然考慮的約束之間,是否存在著更多的,非平凡的結(jié)構(gòu)呢
          6. 假如10年以內(nèi)我們所有的硬件都只能支持10個內(nèi)核,在我的產(chǎn)品研發(fā)中假定10個線程有問題嗎。難道我在開發(fā)的時(shí)候就不再需要抽象了嗎。我在其他方面仍然是需要建立抽象的。
          7. n個抽象約束+1個具體約束,以及 n個無限約束+1個有限約束 仍然是有效的抽象形式。原諒我在這里又使用了有效一詞,它真的很難理解嗎。
          8. 不是在我們的思維中存在著具體的或者有限的物理量,就意味著這種思維是不抽象的.

          函數(shù)式語言或者任何一種其他我們已知的與Turing機(jī)等價(jià)的語言,它們在某種數(shù)學(xué)的含義上說是"沒有差別的"。但是在我們的實(shí)際使用過程中,顯然我們是 能夠感受到它們之間的結(jié)構(gòu)差異的。否則那些不斷發(fā)明新的函數(shù)式語言的人的大腦都進(jìn)水了嗎?在具體使用中,總有人偏好這個語言,有人偏好那個語言, 總是某種情況下應(yīng)用某個語言會方便一些,另一些麻煩一些。難道在所有函數(shù)式語言中開發(fā)類似ErLang解決的那些程序結(jié)構(gòu)都是一樣方便的嗎?

          有些人的論調(diào)是無論啥都逃不出函數(shù)式語言的思想。但是假如現(xiàn)在限定你必須使用java語言來開發(fā)商業(yè)應(yīng)用,難道你罷工嗎?如果你不使用函數(shù)式語言,你所做 的工作就不是程序工作了?你所解決的難道不是程序結(jié)構(gòu)問題了嗎?現(xiàn)在就是有一個結(jié)構(gòu)問題要解決, 它是和語言無關(guān)的. 語言提供了就可以直接用, 語言沒有提供我們可以寫代碼構(gòu)造. 難道除了語言直接體現(xiàn)的結(jié)構(gòu)之外, 程序本身就無法構(gòu)造任何具有通用價(jià)值的結(jié)構(gòu)了嗎?

          我在說到函數(shù)式語言的時(shí)候,基本的態(tài)度只是說不要太沉迷于一種特殊的抽象方式,應(yīng)該多看看別的視角。在不同的情況下存在著做事情的不同的最優(yōu)方式。思維中不要只允許永遠(yuǎn),而容不下現(xiàn)在。

          非此即彼,天下唯我,是我們思維中經(jīng)常陷入的一個誤區(qū)。現(xiàn)在計(jì)算機(jī)領(lǐng)域所謂的理論主要是基于數(shù)學(xué)視角的,沒有考慮物理世界因?yàn)槲覀冇^察的有限性,因?yàn)橘Y源 的有限性所造成的種種約束,此外數(shù)學(xué)中目前也沒有考慮到物理世界真實(shí)的各種復(fù)雜性的存在。在我們想到一種計(jì)算機(jī)理論的時(shí)候,圖像過于簡單化,這種簡單化被 認(rèn)為是優(yōu)美的全部。其實(shí)我們應(yīng)該思維更加開放一些。

          Feedback

          # re: 關(guān)于抽象性的一些說明  回復(fù)  更多評論   

          2007-12-10 09:14 by astamei

          # re: 關(guān)于抽象性的一些說明  回復(fù)  更多評論   

          2007-12-10 09:41 by Edward's
          太抽象了

          # re: 關(guān)于抽象性的一些說明[未登錄]  回復(fù)  更多評論   

          2007-12-10 14:23 by Jerry
          ……

          # re: 關(guān)于抽象性的一些說明[未登錄]  回復(fù)  更多評論   

          2007-12-13 08:53 by 守護(hù)
          文章讀得有感覺,但很朦朧。
          屁股決定腦袋,現(xiàn)在還不能完全理解作者的意思,但感覺是有道理的。

          # re: 關(guān)于抽象性的一些說明  回復(fù)  更多評論   

          2008-07-15 10:59 by XML
          需要抽象,更需要立足現(xiàn)實(shí)!
          主站蜘蛛池模板: 双牌县| 张家港市| 玉门市| 黔东| 手游| 茶陵县| 山西省| 柞水县| 全州县| 定结县| 方正县| 松原市| 邳州市| 临江市| 永康市| 逊克县| 肥乡县| 依安县| 陇南市| 盐津县| 宜宾市| 东阿县| 黄骅市| 宜州市| 友谊县| 西贡区| 万盛区| 丹东市| 新晃| 汨罗市| 东乌珠穆沁旗| 子洲县| 余姚市| 岳池县| 遂溪县| 安国市| 辽源市| 上饶县| 鱼台县| 惠州市| 桑植县|