莊周夢蝶

          生活、程序、未來
             :: 首頁 ::  ::  :: 聚合  :: 管理
              先讓我們來了解下柏拉圖對世界的理解,柏拉圖認(rèn)為,自然界中有形的東西是流動的,但是構(gòu)成這些有形物質(zhì)的“形式”或“理念”卻是永恒不變的。柏拉圖指出,當(dāng)我們說到“馬”時,我們沒有指任何一 匹馬,而是稱任何一種馬。而“馬”的含義本身獨(dú)立于各種馬(“有形的”),它不存在于空間和時間中,因此是永恒的。但是某一匹特定的、有形的、存在于感官 世界的馬,卻是“流動”的,會死亡,會腐爛。柏拉圖把這個永恒不變的“形式”稱為“理型”,他認(rèn)為這個世界分為兩個部分,一部分是完美的由“理型”組成的世界,另一個就是我們現(xiàn)實(shí)的“粗糙”的世界,真實(shí)世界是按照理型世界的標(biāo)準(zhǔn)設(shè)計的,總是努力達(dá)致完美的理型世界,但總是存有偏差。 因此他相信人類的靈魂是不朽的,靈魂蘇醒后會向往回到完美“理型”的世界,人生來就有“理型”的觀念。總之,柏拉圖深信“理性”遠(yuǎn)比“感官”可靠。而他的學(xué)生亞里士多德卻反駁他的老師,在亞里士多德看來,他也贊成世界是有變化的“質(zhì)料”與不變的“形式”組成,比如具體的某只馬是有一些“質(zhì)料”組成,它有馬的“形式”在里頭,因此它被稱為馬。而“形式”存在于具體的“物”之中,比如“馬”的含義就存在具體的千千萬萬只馬之中, “形式”的觀念并不是人與生俱來的,而是借助于“感官”去感知外界事物而得來的。他把這種“形式”更多地稱為“特征”,由此提出了他的自然界分類觀點(diǎn),對“物”分類依據(jù)的是它能做什么以及它有什么特征。可以說,亞里士多德比他的老師更相信“感官”,沒有像他的老師那樣陷入對完美“理型世界”的眷念而不可自拔。
              聯(lián)想到我們在使用靜態(tài)OO語言(比如java)試圖去描述現(xiàn)實(shí)世界的場景,我們總是試圖先設(shè)計出一些類(class),這些類秉承我們的意志,我們預(yù)期它們能完美地描述事物,并且試圖去符合所有的現(xiàn)實(shí)的場景。可以注意到,這樣的想法不正是柏拉圖式的偏執(zhí)?我們用頭腦中出現(xiàn)的“理型”(具體到語言中的類)去描述現(xiàn)實(shí)世界,可現(xiàn)實(shí)世界往往是模糊的、粗糙的,兩者的沖突不可避免,導(dǎo)致類不再按照我們的設(shè)想發(fā)展,它變的龐大,變的不是那么清晰,因此我們又造出“設(shè)計模式”“重構(gòu)”的“詭辯之術(shù)”去彌補(bǔ)、去完整,可這并不是治本之道。首先我們必須承認(rèn)世界是不完美的,完美的“理型”或者說完美的類是不存在的,類型的劃分不能依賴于頭腦中的完美“理型”(類型的劃分不是取決于類),而應(yīng)該根據(jù)事物的特征以及事物能做什么來劃分。放棄對類描述世界的追求,轉(zhuǎn)而構(gòu)造模糊的類型,對象的類型不再預(yù)先構(gòu)造,它的類型取決于它能干什么,它有什么特征,這正是動態(tài)語言中的“Duck-Typing”以及一些函數(shù)式語言中的模式匹配希望做到的,兩者都是為了描述模糊的現(xiàn)實(shí)世界。再比如ruby中的mixin和open class特性又提供了方式讓我們?nèi)ヂ晟?#8220;粗糙”的類,放棄一蹴而就,選擇有機(jī)成長。
              不是很清晰的想法,只是看《蘇菲的世界》里對希臘古典哲學(xué)的描述突然想到的,各位權(quán)當(dāng)荒唐言。



          評論

          # re: 關(guān)于靜態(tài)與動態(tài)之辯的一點(diǎn)想法  回復(fù)  更多評論   

          2007-07-17 09:45 by :)
          驚為天人。。。以為走錯了地兒。。

          # re: 關(guān)于靜態(tài)與動態(tài)之辯的一點(diǎn)想法  回復(fù)  更多評論   

          2007-07-17 10:06 by BlueBrook
          不過還好程序語言不是用來描述世界

          # re: 關(guān)于靜態(tài)與動態(tài)之辯的一點(diǎn)想法  回復(fù)  更多評論   

          2007-07-17 11:08 by itkui
          寫的很好,學(xué)哲學(xué)的?

          # re: 關(guān)于靜態(tài)與動態(tài)之辯的一點(diǎn)想法  回復(fù)  更多評論   

          2007-07-17 11:44 by dennis
          @itkui
          學(xué)哲學(xué)?您也太看得起我了,是看《蘇菲的世界》,一本用偵探小說形式討論哲學(xué)的入門讀物

          # re: 關(guān)于靜態(tài)與動態(tài)之辯的一點(diǎn)想法  回復(fù)  更多評論   

          2007-07-17 16:55 by mashiguang
          @dennis
          你好有想法呀~

          # re: 關(guān)于靜態(tài)與動態(tài)之辯的一點(diǎn)想法  回復(fù)  更多評論   

          2007-07-18 13:16 by 心內(nèi)求法
          寫的很好。
          OO的問題不僅僅是用“理型”有意地忽略了“個性”,而且由于Class=attributes+methods的簡單,很難表達(dá)真實(shí)世界中事物的復(fù)雜性。

          程序語言不是用來描述世界的,但是卻是用來映射世界的。
          至少,現(xiàn)在的程序語言所能映射的是一種機(jī)械的、不完備的世界。

          人對世界的理解之所以能超越計算機(jī),是因為人的思維可以“模糊”、可以“抽象”,可以具有不確定性。順便說一下,最新的物理研究認(rèn)為宇宙中充滿著不確定性,牛頓定律只是概率最大的一種情況而已。

          # re: 關(guān)于靜態(tài)與動態(tài)之辯的一點(diǎn)想法  回復(fù)  更多評論   

          2007-07-18 23:32 by fox_xu
          @心內(nèi)求法
          有道理,感覺程序設(shè)計本身就是一個哲學(xué)問題

          # re: 關(guān)于靜態(tài)與動態(tài)之辯的一點(diǎn)想法  回復(fù)  更多評論   

          2007-07-19 12:48 by pig345
          樓主說的及至,相信有過靜態(tài)語言面向?qū)ο笤O(shè)計經(jīng)驗的人都會有此同感。
          讓我沒想到的是,竟然幾千年前的古人就曾討論過此問題!
          主站蜘蛛池模板: 隆尧县| 东海县| 大渡口区| 西丰县| 白水县| 仙居县| 古蔺县| 仁怀市| 青田县| 金华市| 望江县| 绥中县| 兴城市| 吉林省| 油尖旺区| 英吉沙县| 龙陵县| 潼关县| 桃源县| 博爱县| 巴彦淖尔市| 米林县| 孝昌县| 宁晋县| 会理县| 海南省| 泗阳县| 玉溪市| 辽宁省| 大悟县| 平谷区| 旌德县| 常德市| 达孜县| 镇沅| 仙游县| 微山县| 甘肃省| 丹凤县| 商南县| 墨竹工卡县|