Posted on 2007-12-09 22:25
canonical 閱讀(1194)
評論(5) 編輯 收藏 所屬分類:
設(shè)計理論
沒有人否認抽象的意義,但是抽象是否就是抽象到無窮大,這是個可以明確定義的問題,也是數(shù)學領(lǐng)域正在解決的問題。在我們的思考中沒有明確定義何處是邊界,
沒有明確的限制,這便是導向無窮的一種思維方式,它和現(xiàn)實中是否真的允許消耗無限多的資源,創(chuàng)建無限多的對象無關(guān)。當我們認為自己明白了終極的意義,明白
了一種推向無窮的抽象,這并不是理解了世界的全部,我們?nèi)匀灰靼兹绾谓鉀Q一些更加小范圍,但是卻又普遍發(fā)生的事情。
例如現(xiàn)在我的系統(tǒng)中只需要10個相互依賴的線程,如果我們定死了10這個數(shù)字,顯然我們可以發(fā)展一種這個領(lǐng)域特有的高效的一些算法結(jié)構(gòu)。而抽象到通用語言
中的時候,顯然我們只能假設(shè)線程數(shù)是任意大,或者是充分大的,而無法充分利用10這一領(lǐng)域信息,因此在這個意義上我說通用語言不是有效的。
說到10這個確定的數(shù)字,不過是一種極端化的比喻。我常說概念是連續(xù)的,并不是非此即彼的,因此并不是從一種普遍情況到一種最特殊的情況之間不再有其他情
況了。在這中間環(huán)節(jié),存在著非常深刻的復雜的物理事實。但是這些事實卻又是某種有限性向我們揭示出來的。(請不要把這里的有限性理解為算術(shù)中的10以內(nèi))
現(xiàn)在來一個理論推演吧:
1. 任何系統(tǒng)都在一定約束下運行,即它們需要符合某些約束條件
2. 通用語言描述了某些結(jié)構(gòu),但是這些結(jié)構(gòu)是充分通用的,能夠應用到盡可能廣泛的領(lǐng)域的
3. 線程數(shù)=10這個約束過份特殊,顯然通用語言是不會考慮這個約束。實際上目前在通用語言設(shè)計中,無限資源假定基本都是默認的。
4. 我們承認某些現(xiàn)實的約束通用語言是不會考慮的
5. 在最特殊的,明顯不會考慮的約束以及非常通用,一般通用語言必然考慮的約束之間,是否存在著更多的,非平凡的結(jié)構(gòu)呢
6. 假如10年以內(nèi)我們所有的硬件都只能支持10個內(nèi)核,在我的產(chǎn)品研發(fā)中假定10個線程有問題嗎。難道我在開發(fā)的時候就不再需要抽象了嗎。我在其他方面仍然是需要建立抽象的。
7. n個抽象約束+1個具體約束,以及 n個無限約束+1個有限約束 仍然是有效的抽象形式。原諒我在這里又使用了有效一詞,它真的很難理解嗎。
8. 不是在我們的思維中存在著具體的或者有限的物理量,就意味著這種思維是不抽象的.
函數(shù)式語言或者任何一種其他我們已知的與Turing機等價的語言,它們在某種數(shù)學的含義上說是"沒有差別的"。但是在我們的實際使用過程中,顯然我們是
能夠感受到它們之間的結(jié)構(gòu)差異的。否則那些不斷發(fā)明新的函數(shù)式語言的人的大腦都進水了嗎?在具體使用中,總有人偏好這個語言,有人偏好那個語言,
總是某種情況下應用某個語言會方便一些,另一些麻煩一些。難道在所有函數(shù)式語言中開發(fā)類似ErLang解決的那些程序結(jié)構(gòu)都是一樣方便的嗎?
有些人的論調(diào)是無論啥都逃不出函數(shù)式語言的思想。但是假如現(xiàn)在限定你必須使用java語言來開發(fā)商業(yè)應用,難道你罷工嗎?如果你不使用函數(shù)式語言,你所做
的工作就不是程序工作了?你所解決的難道不是程序結(jié)構(gòu)問題了嗎?現(xiàn)在就是有一個結(jié)構(gòu)問題要解決, 它是和語言無關(guān)的. 語言提供了就可以直接用,
語言沒有提供我們可以寫代碼構(gòu)造. 難道除了語言直接體現(xiàn)的結(jié)構(gòu)之外, 程序本身就無法構(gòu)造任何具有通用價值的結(jié)構(gòu)了嗎?
我在說到函數(shù)式語言的時候,基本的態(tài)度只是說不要太沉迷于一種特殊的抽象方式,應該多看看別的視角。在不同的情況下存在著做事情的不同的最優(yōu)方式。思維中不要只允許永遠,而容不下現(xiàn)在。
非此即彼,天下唯我,是我們思維中經(jīng)常陷入的一個誤區(qū)。現(xiàn)在計算機領(lǐng)域所謂的理論主要是基于數(shù)學視角的,沒有考慮物理世界因為我們觀察的有限性,因為資源
的有限性所造成的種種約束,此外數(shù)學中目前也沒有考慮到物理世界真實的各種復雜性的存在。在我們想到一種計算機理論的時候,圖像過于簡單化,這種簡單化被
認為是優(yōu)美的全部。其實我們應該思維更加開放一些。