關(guān)于靜態(tài)與動態(tài)之辯的一點(diǎn)想法
Posted on 2007-07-17 09:20 dennis 閱讀(1558) 評論(8) 編輯 收藏 所屬分類: 涂鴉 、my open-source 先讓我們來了解下柏拉圖對世界的理解,柏拉圖認(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)荒唐言。
聯(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)荒唐言。