<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

    對語言與結(jié)構(gòu)的說明

    Posted on 2007-12-08 02:51 canonical 閱讀(1442) 評論(7)  編輯  收藏 所屬分類: 設(shè)計(jì)理論
       每當(dāng)我在文字中對函數(shù)式語言有些不敬之意時,便好像動了某些人的奶酪,以至我的言辭總在被曲解后遭到排斥。我想這就是因?yàn)橐暯遣町愡^大所造成的. 但是謙虛謹(jǐn)慎是傳統(tǒng)的美德, 不能容納他人的觀點(diǎn)只會妨礙自己在某些方向的探索。
       首先請不要輕易懷疑我的知識水平。當(dāng)然如果總無法聚集起足夠的注意力來理解別人話語中的細(xì)節(jié),我也無話可說。
       容納他人的觀點(diǎn)就意味著不要總在自己的話語體系中試圖找到反例. 一個人總是受限于他的知識范圍,因此他也經(jīng)常在自己的知識范圍內(nèi)篡改曲解別人的意見。我從未說過 "一個具體的問題是現(xiàn)有的通用語言無法描述的". 我說的是"現(xiàn)實(shí)開發(fā)中所需要處理的結(jié)構(gòu)問題并不是在語言層面得到充分解決的", "現(xiàn)在的通用語言也是無法有效承載Domain Specific Structure的". 請注意我對定語和動詞的選擇。其實(shí)我已經(jīng)舉了大量的例子來進(jìn)行說明,但可能因?yàn)榇蠖鄶?shù)人不是物理背景,對相關(guān)的內(nèi)容不熟悉,所以直接無視了。這也很對,符合物理學(xué)的精神。

       可能大多數(shù)人都知道函數(shù)式語言和命令式語言都是和圖靈機(jī)等價的,因此它具有某種終極能力,懷疑它無異于懷疑我們世界存在的基礎(chǔ)。但是請注意,這種等價性是數(shù)學(xué)性的。它潛在的要求是無限的能量和時間消耗。如果在限定的物理約束下,我們會發(fā)現(xiàn)我們的選擇范圍會大大縮小。所以我說"函數(shù)式語言和命令式語言的計(jì)算能力相同,但是在具體的情形下它們的描述能力是不同的". 比如說我現(xiàn)在有無窮多種方式從北京跑到上海,但是如果限定只允許用1升汽油,那么我們的選擇就近乎于0。飛機(jī)和汽車的運(yùn)輸能力是相同的嗎。物理學(xué)的一個基本精神在于一種物理性的約束是始終存在的。而事實(shí)上,我們在實(shí)際工作中也總是在各種有限的物理?xiàng)l件下工作。

       也許有些人認(rèn)為這種區(qū)分是無關(guān)緊要的,我們只關(guān)心某種終極的東西。但是物理學(xué)中有著太多的例證,說明在有限約束下,整個系統(tǒng)呈現(xiàn)出完全不同的性質(zhì)。在通信領(lǐng)域我們都知道Shannon定理,它的物理詮釋是在有噪聲的信道上可以有效的進(jìn)行準(zhǔn)確的信息傳遞。但是這一詮釋只能在有限的數(shù)學(xué)精度(遠(yuǎn)大于我們實(shí)際需求的精度)上成立, 在絕對準(zhǔn)確的數(shù)學(xué)意義上,這是不可能的事情。

       你覺得現(xiàn)在的通用語言做起領(lǐng)域相關(guān)的東西來很方便嗎,這就是我所謂無法有效承載的含義。在這里我也沒有否認(rèn)"未來的牛語言可以輕松搞定目前難題"的可能性。

       因?yàn)樗械能浖O(shè)計(jì)最終都要落實(shí)到某種代碼實(shí)現(xiàn)上,所以怎么會有什么神秘的軟件結(jié)構(gòu)是現(xiàn)有的語言無法描述的呢。但是ErLang中那種高并發(fā),支持錯誤恢復(fù)的程序結(jié)構(gòu)是在其他語言中能夠輕松實(shí)現(xiàn)的嗎。很多人不是在潛意識中認(rèn)為ErLang的成功是函數(shù)式語言排他性的成功嗎,不是認(rèn)為命令式語言無論如何實(shí)現(xiàn)不了ErLang的程序結(jié)構(gòu)的嗎。很顯然,在命令式語言中是無法直接實(shí)現(xiàn)ErLang中的程序結(jié)構(gòu)的,否則它就變成了函數(shù)式語言,但是所有發(fā)生在ErLang世界中的事實(shí)都一樣可以發(fā)生在命令式語言的世界中。ErLang語言的編譯器可以是使用命令式語言實(shí)現(xiàn)的,在終極的意義上,語言之間能有什么區(qū)別呢?

       我說"實(shí)際上現(xiàn)在的通用語言也是無法有效承載Domain Specific Structure的", 這還有另一層含義。通用語言設(shè)計(jì)總是要考慮到內(nèi)置結(jié)構(gòu)的某種通用性,設(shè)計(jì)時能夠憑依的信息較少,因此不可能直接制造某種復(fù)雜的領(lǐng)域相關(guān)的結(jié)構(gòu)。而目前已知的通用語言中提供的結(jié)構(gòu)抽象的手段也不夠強(qiáng)大(實(shí)際上我認(rèn)為任何語言都不會強(qiáng)大到內(nèi)置所有結(jié)構(gòu),也無法提供所有的結(jié)構(gòu)抽象手段), 相當(dāng)于是把領(lǐng)域結(jié)構(gòu)問題推給程序員解決。這就如同C語言把內(nèi)存管理推給程序員解決一樣。現(xiàn)在ruby比較流行不就是因?yàn)樗軌騽討B(tài)處理很多結(jié)構(gòu)問題嗎,但是它現(xiàn)在所作的一切就是足夠的了嗎。難道二十年之后再來看這個語言,不能夠發(fā)現(xiàn)它存在著巨大的改進(jìn)空間嗎。我們目前在Witrix中通過tpl模板語言,bizflow extends等機(jī)制,結(jié)合整體框架設(shè)計(jì)實(shí)現(xiàn)了一些與ruby不同的結(jié)構(gòu)構(gòu)造方法。這些手段都極大的增強(qiáng)了我們面對領(lǐng)域問題時的信心,也確保了我們的領(lǐng)域知識是技術(shù)層面上可積累的。但是即使這樣,我對程序發(fā)展的現(xiàn)狀就是滿意的嗎?難道不存在更加豐富的結(jié)構(gòu)知識等待我們?nèi)グl(fā)現(xiàn)嗎?一般人總是習(xí)慣接受已經(jīng)存在的現(xiàn)實(shí),在有限的職業(yè)生涯中把它們當(dāng)作不變的真理,卻沒有耐心的去思考如何去改變。

      我認(rèn)為很多結(jié)構(gòu)問題不是需要在語言層面得到解決的,而是應(yīng)該在獨(dú)立的結(jié)構(gòu)層(平臺,框架)進(jìn)行解決。這意味著沒有必要在語言層面直接內(nèi)置某種特定的結(jié)構(gòu),內(nèi)置某種特定的結(jié)構(gòu)抽象手段。這基本類似于說不要把集合論擴(kuò)大到包含所有的數(shù)學(xué)關(guān)系,請?jiān)趧e的學(xué)科分支中進(jìn)行研究。需要注意的是,我所謂的領(lǐng)域知識不是特定的業(yè)務(wù)知識,而是從業(yè)務(wù)知識中可以分析得到的某種更加通用的普適的結(jié)構(gòu)知識,甚至是可以使用數(shù)學(xué)進(jìn)行精確描述的。

      現(xiàn)代軟件發(fā)展的時間還很短,與數(shù)學(xué)和物理學(xué)這樣深刻的學(xué)科相比,它無疑是相對幼稚的,是待成長的,是更加的不完美的。在程序構(gòu)建的基本問題上并沒有抽象出什么可以實(shí)際操作的精確規(guī)律。這是所謂Pattern在軟件業(yè)流行的部分原因:我們希望用這種半形式化的方式捕獲某種思考的結(jié)果。但是軟件真的除了基于抽象數(shù)學(xué)的全局的全稱性的證明之外,不能夠在局部進(jìn)行某種更加復(fù)雜,更加嚴(yán)謹(jǐn)?shù)姆治鰡帷?br />
       我們說結(jié)構(gòu)問題是獨(dú)立的,這也意味著它和具體的實(shí)現(xiàn)語言具有某種意義上的分離性。通過一種語言書寫的結(jié)構(gòu)可以在另一種語言中得到表達(dá)。我們可以建立語言中立的技術(shù)結(jié)構(gòu)。一種所謂的結(jié)構(gòu)在概念上具有某種確定的形態(tài),我們可以脫離具體的語言來理解它。例如我說"面向?qū)ο蟮睦^承關(guān)系從結(jié)構(gòu)觀點(diǎn)上看是兩個一維集合之間的覆蓋關(guān)系". 在java中我們可以直接使用語言提供的繼承機(jī)制,而在C語言中我們就需要建立某種結(jié)構(gòu)體,手動維持所有的指針關(guān)聯(lián)。而在Witrix平臺中,我們從繼承的結(jié)構(gòu)詮釋出發(fā),定義了更加復(fù)雜的extends算子,這就需要利用java語言編制特定的parser來實(shí)現(xiàn)了。但是顯然,在思考的時候我們所有的思維指向是結(jié)構(gòu)本身,而不是任何通用語言的語法。

       在物理學(xué)中,通過攝動分析我們可以清楚地意識到:同樣一個物理現(xiàn)象對應(yīng)的數(shù)學(xué)模型可以是眾多的,但是在特定的參數(shù)區(qū)我們會選擇某種特定的數(shù)學(xué)表述,并確定其中的待定參數(shù)。

       delta函數(shù)是物理學(xué)家狄拉克引入的,在Schwatz引入分布概念建立廣義函數(shù)論之前,物理學(xué)家們已經(jīng)使用這一函數(shù)工作了很多年。后來Abraham Robinsen利用數(shù)理邏輯方法,建立了非標(biāo)準(zhǔn)分析,通過模型論的方法精確定義了無窮小的概念,從更加直接的角度論證了delta的合理性。但是在物理學(xué)家看來,這些數(shù)學(xué)又有什么區(qū)別呢?物理學(xué)只是按照物理的詮釋進(jìn)行工作,具體的數(shù)學(xué)只是它可選的工具而已。

       物理的真理并不是蘊(yùn)含在數(shù)學(xué)中的,它需要我們獨(dú)立的探索,從與數(shù)學(xué)不同的觀點(diǎn)進(jìn)行思考,檢驗(yàn),最終我們才能做出真正的發(fā)現(xiàn)。廣義相對論可以采用Riemman幾何進(jìn)行描述,但是它的物理詮釋卻是Einstein提出的. 沒有人說Riemann或者Hilbert發(fā)現(xiàn)了廣義相對論。另外一方面,因?yàn)镋instein的工作觸發(fā)了對于微分幾何的更加深入的研究,靠著物理直覺的導(dǎo)引,我們將這一數(shù)學(xué)分支推進(jìn)到了難以想象的深度。"數(shù)學(xué)是無法涵蓋物理學(xué)的". 這不是說最終物理學(xué)無法采用數(shù)學(xué)語言進(jìn)行描述,而是說在這一發(fā)展過程中,所有思想的推動來源于物理學(xué)的經(jīng)驗(yàn),來源于我們在這個物質(zhì)世界上所進(jìn)行的反復(fù)驗(yàn)證。不是在一個封閉的小屋中,整天擺弄各種數(shù)學(xué)符號,我們就能夠發(fā)明所有的物理公式所對應(yīng)的數(shù)學(xué)。實(shí)際上,現(xiàn)在學(xué)術(shù)界普遍承認(rèn),沒有物理學(xué)的推進(jìn),很多數(shù)學(xué)的進(jìn)展是不可能發(fā)生的。

       物理系每天都在演算著Feynman路徑積分, 但是所有人都知道這是沒有什么嚴(yán)格的數(shù)學(xué)依據(jù)的.目前并無法定義路徑積分的收斂性,但是所有人對此避而不談. 只要形式演算合法,物理預(yù)測符合實(shí)驗(yàn), 合理性的證明只是數(shù)學(xué)家們的事情. 在量子場論中所采用的重整化(Renormalization)方法不過是回避無窮大問題的一種形式手段.我們?nèi)匀粺o法在數(shù)學(xué)層面對所有的演算都給予合理化解釋. 在更多的物理分支中工作,你就會發(fā)現(xiàn)物理學(xué)家的膽子不是一般的大。也許在未來我們能夠發(fā)現(xiàn)這些物理過程背后數(shù)學(xué)機(jī)制的精確定義, 但也許最終我們也無法找到合適的定義方式. 但這對物理學(xué)家來說, 并不是很大的打擊.因?yàn)橹敢覀兊氖俏锢碇庇X,是獨(dú)立于數(shù)學(xué)的物質(zhì)世界的意象。

       我所想討論的不是某種終極意義上的可能性,不是絕對概念之間的沖突,而是在物理現(xiàn)實(shí)的約束下,我們?nèi)绾尾拍苡行Чぷ鞯膯栴}。我已經(jīng)反復(fù)表述了自己的觀點(diǎn): "結(jié)構(gòu)是可抽象的,是具有獨(dú)立意義的。這就是Witrix所提出的面向結(jié)構(gòu)的設(shè)計(jì)視角。不是強(qiáng)調(diào)對象的所謂業(yè)務(wù)含義,不是強(qiáng)調(diào)某種通用語言(例如ruby)的靈活的語法結(jié)構(gòu)。在這之間存在著厚重的具有物理意義的可以進(jìn)行結(jié)構(gòu)分析的技術(shù)層". 也許有人覺得我說的這是廢話, 但是當(dāng)系統(tǒng)化的執(zhí)行一種思想的時候,就會揭示出未預(yù)料到的可能性. 整個Witrix平臺簡單的說起來就是"面向結(jié)構(gòu)的級列分析", 但是如何找到合適的技術(shù)形式來體現(xiàn)這一思想,卻絕對不是一件平凡的事情. "在Witrix中我們實(shí)現(xiàn)的代碼重用程度和程序整體結(jié)構(gòu)控制能力是超越了目前所有已知的公開技術(shù)的。這不是什么哲學(xué),而是我們在殘酷的商業(yè)競爭中得以生存的資本".http://canonical.javaeye.com/blog/126467

       在我看來,計(jì)算機(jī)領(lǐng)域充斥著純數(shù)學(xué)的深沉遐想和從工程實(shí)踐而來的輕佻常識,還沒有注意到物理學(xué)所能帶來的不同的同樣深刻的視角。我常說,好好學(xué)習(xí)物理是必要的,因?yàn)檫@個世界遠(yuǎn)比你想象的要復(fù)雜的多。


    Feedback

    # re: 對語言與結(jié)構(gòu)的說明  回復(fù)  更多評論   

    2007-12-08 05:50 by gr8vyguy
    >>>一個具體的問題是現(xiàn)有的通用語言無法描述的

    這里的"通用語言"語言是指通用的計(jì)算機(jī)語言嗎? 或者說Turing-Computable Language嗎?

    這里的"描述"是指解決嗎? 不然還能是什么?

    如果兩個都是的,那么這樣的具體問題太多!!! 學(xué)過點(diǎn)Computability Theory的人都能舉出無數(shù)個!!!

    # re: 對語言與結(jié)構(gòu)的說明  回復(fù)  更多評論   

    2007-12-09 20:25 by canonical
    描述和解決能是一回事嗎? 我寫下一個方程,這叫描述. 求出它的解, 這叫解決.

    # re: 對語言與結(jié)構(gòu)的說明  回復(fù)  更多評論   

    2007-12-10 07:24 by gr8vyguy
    @canonical
    在"通用的計(jì)算機(jī)語言"這個前提下,描述和解決當(dāng)然就是一回事!因?yàn)槟嵌际浅绦颍蛘哂美碚撚?jì)算機(jī)的話講Algorithms。這就是計(jì)算機(jī)科學(xué)和數(shù)學(xué)的一個主要區(qū)別。數(shù)學(xué)家能滿足于建立正確的方程,但是搞計(jì)算機(jī)科學(xué)的,比如像你在探討計(jì)算機(jī)語言,就必須解決所建的方程才有意義!

    # re: 對語言與結(jié)構(gòu)的說明  回復(fù)  更多評論   

    2007-12-10 19:55 by canonical
    我一直在講物理,你現(xiàn)在來和我講數(shù)學(xué)。。。

    # re: 對語言與結(jié)構(gòu)的說明  回復(fù)  更多評論   

    2007-12-11 02:52 by gr8vyguy
    物理的視角也好,數(shù)學(xué)的視角也好,你總在講計(jì)算機(jī)語言吧

    # re: 對語言與結(jié)構(gòu)的說明  回復(fù)  更多評論   

    2007-12-11 20:20 by canonical
    我是在講語言,講的卻是語言之外還有別的

    # re: 對語言與結(jié)構(gòu)的說明  回復(fù)  更多評論   

    2007-12-12 20:48 by yesry
    不明白啊老大。
    看來你需要很多example來闡述該問題
    主站蜘蛛池模板: 拔擦拔擦8x华人免费久久| 亚洲欧洲av综合色无码| 亚洲第一街区偷拍街拍| 亚洲综合无码一区二区| 2048亚洲精品国产| 成人电影在线免费观看| 国产成人亚洲毛片| 日韩亚洲国产综合高清| 亚洲日本乱码在线观看| 免费国产a国产片高清| 成人午夜18免费看| a级毛片免费全部播放| 青青视频免费在线| 亚洲国产午夜精品理论片在线播放| 久久综合亚洲鲁鲁五月天| 亚洲av中文无码乱人伦在线播放| 亚洲一级片内射网站在线观看| 日韩中文无码有码免费视频| 毛片免费观看的视频| 国产91免费在线观看| 2021国内精品久久久久精免费| 久久久久久影院久久久久免费精品国产小说| 日韩大片在线永久免费观看网站| 国产亚洲情侣久久精品| 国产精品亚洲一区二区三区久久| 亚洲国产精品网站在线播放| 亚洲熟女乱色一区二区三区 | 国产午夜无码精品免费看动漫| 国产成人免费ā片在线观看| 亚洲免费视频在线观看| 国产日韩AV免费无码一区二区| baoyu122.永久免费视频| 中国黄色免费网站| 亚洲AⅤ男人的天堂在线观看 | 67194熟妇在线永久免费观看| 84pao国产成视频免费播放| 看Aⅴ免费毛片手机播放| 老司机午夜性生免费福利| 男女交性无遮挡免费视频| 日韩电影免费在线观看网址| caoporm超免费公开视频|