<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

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

    關(guān)于通用語言能力的一些澄清

    Posted on 2007-12-09 00:16 canonical 閱讀(1206) 評論(0)  編輯  收藏 所屬分類: 設(shè)計理論
        我在前面的文章中列舉了大量物理學(xué)相關(guān)的例子來試圖說明采用物理視角的必要性,但是可能因為物理事實大家不熟悉,結(jié)果直接被無視了. 在本文中我想有必要舉一個軟件領(lǐng)域的例子。只是在實際思考的過程中,我主要還是基于物理概念進行推理.
       
        首先我所謂“現(xiàn)在的通用語言”,它并不意指“現(xiàn)在至未來所有通用語言之合集”,而是指“目前正在被使用的某一種通用語言”,這種差別便體現(xiàn)了我所強調(diào)的不同的價值觀和不同的視角。不是一種覆蓋一切的全稱判斷,而是在特定物理約束下的物理實體。
       
        現(xiàn)在無論我們設(shè)計什么大型系統(tǒng),一般總是要優(yōu)先考慮微內(nèi)核設(shè)計。但是很顯然,如果我們的編程控制能力極強(強大到不現(xiàn)實的地步),我們可以把所有的代碼實現(xiàn)為一個大的整體。一個整體的好處是勿用質(zhì)疑的,否則Linux Torvalds就不會有信心和Tanenbaum PK。但即使是Linux, 隨著系統(tǒng)越來越龐大,在內(nèi)核中也補充了很多模塊管理策略。我并不把這種情況看作是一種現(xiàn)在技術(shù)能力不到位所造成的結(jié)果,而是把它看作是在現(xiàn)實的物理約束下所促成的一種必然的選擇。
       
        按照類似的邏輯,我認為在通用語言層面不應(yīng)該導(dǎo)入越來越多的特征,實際上也不可能把所有可能的結(jié)構(gòu)方式都內(nèi)置在語言中(這種不可能不是數(shù)學(xué)意義上的不可能)。這會破壞一種語言的純潔性,使得它極難維護和發(fā)展。為了擴大通用語言的有效應(yīng)用范圍,一種顯然的方式是在語言中定義一些支持結(jié)構(gòu)再次抽象的機制,通過可插拔的方式實現(xiàn)與domain相關(guān)的知識的融合。ruby這樣的語言提供了大量的元編程機制, Witrix平臺中tpl模板語言也發(fā)展了一系列編譯期結(jié)構(gòu)構(gòu)造技術(shù), 但是顯然它們都不能說是結(jié)構(gòu)抽象技術(shù)的終極形態(tài). 目前我對所有通用語言所提供的結(jié)構(gòu)抽象和結(jié)構(gòu)組裝能力都是不滿意的,因此在Witrix中發(fā)展了一些領(lǐng)域特定的結(jié)構(gòu)融合手段.例如根據(jù)"繼承"關(guān)系的結(jié)構(gòu)詮釋(繼承可以看作是兩個一維集合之間的覆蓋關(guān)系), 我們擴展了extends的結(jié)構(gòu)操作方式, 定義了廣義的extends算子. 這些特定的結(jié)構(gòu)關(guān)系目前在領(lǐng)域特定的BizFlow語言中體現(xiàn), 它們在通用語言中是難以想象的, 而把它們放置在通用的語言中也是不合適的(這種復(fù)雜的結(jié)構(gòu)融合操作如果不能結(jié)合領(lǐng)域知識進行直觀的理解, 必將導(dǎo)向一種思維的混亂). 這就是我所謂"現(xiàn)在的通用語言無法有效承載Domain Specific Structure"的含義. 這種說法其實類似于"集合論是無法包容所有數(shù)學(xué)結(jié)構(gòu)的". 我們在集合論中只研究最普遍的關(guān)系,而特定的結(jié)構(gòu)在特定的學(xué)科中研究.
       
        關(guān)于ErLang的例子, 我的原意是用來說明結(jié)構(gòu)問題是獨立的,它是和具體語言無關(guān)的.即基于消息傳遞發(fā)生數(shù)據(jù)關(guān)聯(lián)的超輕量級進程模型這一結(jié)構(gòu)不是和ErLang語言綁定的. 為此我特意加了一段說明:"這里不是要證明某種語言中無法描述這些結(jié)構(gòu),而是說結(jié)構(gòu)是客觀存在的,它并不是要在基礎(chǔ)語言層面得到充分解決的". 即使在語言層面我們并不解決這個結(jié)構(gòu)問題, 它仍然客觀存在著,我們?nèi)匀豢梢杂闷渌募夹g(shù)手段去定義,去解決. 解決了這個結(jié)構(gòu)問題就必然會帶給我們價值,而無論我們使用何種實現(xiàn)語言.

        "什么原因,什么樣的約束條件,導(dǎo)致了現(xiàn)在的通用語言是無法有效承載消息傳遞發(fā)生數(shù)據(jù)關(guān)聯(lián)的超輕量級進程模型". 這一命題并不是我原文中論點的合理推論.我并不是要說某一種特定的領(lǐng)域結(jié)構(gòu)無法在一種特定的通用語言中得到支持.而是說如果我們認為一種通用語言是比較穩(wěn)定的,則它一般選擇只內(nèi)置一些通用的不帶有領(lǐng)域特定含義的概念. 而缺乏領(lǐng)域知識,或者說因為通用語言故意的摒棄領(lǐng)域依賴, 它在處理領(lǐng)域相關(guān)的問題的時候并不是有效的.這種有效性不是數(shù)學(xué)含義上的,而是可以進行物理度量的. 現(xiàn)在也有很多人認為ErLang并不是真正的通用語言,它是針對通信領(lǐng)域進行了特定結(jié)構(gòu)調(diào)整的, 是內(nèi)置了領(lǐng)域特定結(jié)構(gòu)的. 而目前在ErLang上建立GUI的努力也并不算是成功.
       
        在前文中我舉了一個例子試圖說明:"在限定的物理約束下,我們的選擇范圍會大大縮小". "比如說我現(xiàn)在有無窮多種方式從北京跑到上海,但是如果限定只允許用1升汽油,那么我們的選擇就近乎于0". 這里并不是要說明加上物理約束之后,我們便沒有任何選擇了.而是說物理約束對無窮多的可能方式起了限定選擇的作用, 它最終造成我們在具體的物理場景下可能只有非常有限的選擇. 例如現(xiàn)在允許用100升汽油, 有多少種運輸方式可以滿足我們的要求? 如果允許1000升呢? 但是如果不考慮所有物理約束, 我們是否能夠證明說: 飛機和拖拉機的運輸能力是完全一致的, 因為它們都能從北京開到上海.

        我的觀點是結(jié)構(gòu)問題是獨立存在的,它具有自身的價值, 研究它也需要建立特定的價值觀. 一個結(jié)構(gòu)可以體現(xiàn)為語言上的某種語法特征, 也可以通過框架等實現(xiàn), 或者表現(xiàn)為某種設(shè)計模式,某種編程技巧. 我們在思考結(jié)構(gòu)問題的時候并不是從特定語言的機制出發(fā)的, 當(dāng)語言不直接支持的時候我們可以發(fā)展特定的實現(xiàn)技術(shù)支持它. 在未來的日子里某個結(jié)構(gòu)可能被證明具有普適的價值,它會被吸收到某個通用語言中成為所有程序的支撐結(jié)構(gòu), 但是更多的結(jié)構(gòu)永遠都不會進入通用語言, 而是居留在某個特定的領(lǐng)域. 通用語言的發(fā)展并不是完全基于抽象的數(shù)學(xué)分析而進行的, 它可以從更加豐富的物理世界中吸取營養(yǎng). 當(dāng)一種結(jié)構(gòu)進入通用語言的時候, 它所帶來的絕對不只是一組數(shù)量關(guān)系,而是同時帶來一系列經(jīng)過實踐檢驗的物理詮釋.

        我所謂的領(lǐng)域并不是指業(yè)務(wù)領(lǐng)域, 而是結(jié)構(gòu)領(lǐng)域, 一個可以定義特定結(jié)構(gòu)的物理場景. 一個特定的結(jié)構(gòu)仍然可以支撐著任意多的具體應(yīng)用. 例如CRUD操作可以作為數(shù)據(jù)管理模型. BizFlow作為界面和單實體的交互模型.

        函數(shù)式語言為我們提供了一種具體的技術(shù)工具, 但是在現(xiàn)實的開發(fā)中, 為了有效的處理結(jié)構(gòu)問題, 顯然我們需要多種視角的組合, 而不是把所有可想見的圖景都純化為函數(shù). 我們對世界的體驗是多樣化的. 這就是我所謂"世界比函數(shù)的集合要復(fù)雜"的含義.
    主站蜘蛛池模板: 国产亚洲?V无码?V男人的天堂| 免费爱爱的视频太爽了| 亚洲日韩精品一区二区三区无码 | 97精品免费视频| 亚洲av无码无在线观看红杏| 久久永久免费人妻精品| 91情国产l精品国产亚洲区| 日韩在线不卡免费视频一区| 亚洲黄色在线观看| 男人的好看免费观看在线视频 | 亚洲av午夜精品一区二区三区| 欧美激情综合亚洲一二区| 国产免费变态视频网址网站| 无套内谢孕妇毛片免费看看| 久久青青草原亚洲av无码| 九九精品成人免费国产片| 亚洲色大成网站www永久| 99无码人妻一区二区三区免费| 亚洲avav天堂av在线网爱情| 一个人看www在线高清免费看| 亚洲欧美中文日韩视频| 亚洲人成网站观看在线播放| 成人性生交大片免费看中文| 91亚洲国产成人精品下载| 久久久久免费看黄A片APP| 亚洲AV网一区二区三区| 国产精品亚洲二区在线观看 | 免费va人成视频网站全| 国产精品美女久久久免费 | 国产乱弄免费视频| 成人网站免费大全日韩国产| 亚洲综合久久久久久中文字幕| 性xxxxx免费视频播放| 免费视频精品一区二区| 久久亚洲精品成人777大小说| 麻豆国产精品免费视频| WWW亚洲色大成网络.COM| 亚洲日产无码中文字幕| 野花高清在线观看免费3中文| 又硬又粗又长又爽免费看 | 日本亚洲欧美色视频在线播放 |