国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

哲學(xué)與面向?qū)ο蟮年P(guān)系及軟件開發(fā)的發(fā)展方向

2014-08-11 02:14陸偉
中國科技縱橫 2014年7期
關(guān)鍵詞:面向?qū)ο?/a>原子對象

陸偉

(無錫職業(yè)技術(shù)學(xué)院,江蘇無錫 214121)

哲學(xué)與面向?qū)ο蟮年P(guān)系及軟件開發(fā)的發(fā)展方向

陸偉

(無錫職業(yè)技術(shù)學(xué)院,江蘇無錫 214121)

本文主要就哲學(xué)和面向?qū)ο髲能浖こ痰陌l(fā)展到面向?qū)ο蠓椒ǖ漠a(chǎn)生做了簡單的介紹,同時(shí)概要的描述了面向?qū)ο蠓椒?也從哲學(xué)的角度對軟件工程的發(fā)展方向作出了適當(dāng)?shù)牟聹y。

面向過程(PO) 面向?qū)ο?OO) 對象(OBJECT) 事實(shí)(FACT)

軟件開發(fā)的過程就是人們使用各種計(jì)算機(jī)語言將人們關(guān)心的現(xiàn)實(shí)世界映射到計(jì)算機(jī)世界的過程。這方面的第一個(gè)重要成果就是在70年代風(fēng)靡一時(shí)的結(jié)構(gòu)化開發(fā)方法,即面向過程的開發(fā)或結(jié)構(gòu)化方法(PO)。面向過程方法是人們在用計(jì)算機(jī)世界來表達(dá)現(xiàn)實(shí)世界時(shí),追求過程化、模塊化、封裝以及更高的抽象的結(jié)果。人們使用計(jì)算機(jī)來映射現(xiàn)實(shí)世界時(shí),最低層的實(shí)現(xiàn)無非是靠數(shù)字電路技術(shù)產(chǎn)生的高電平與低電平信號(hào),用數(shù)學(xué)的語言來表示,就是像0和1這樣的二進(jìn)制碼,這樣的抽象層次是極低的,遠(yuǎn)離了自然語言,對一般人是不可理解的。人們把這些二進(jìn)制串分塊定義,提出了字節(jié)、ASCII碼這樣的更高抽象層次的概念,使之對應(yīng)于自然語言的一個(gè)個(gè)字母。在此基礎(chǔ)再借助某種形式語言,抽象出變量、表達(dá)式、運(yùn)算、語句等概念,下一步的抽象就產(chǎn)生了面向過程方法。在面向過程方法中,人們關(guān)注的是如何用函數(shù)和過程來實(shí)現(xiàn)對現(xiàn)實(shí)世界的模擬,將其映射到計(jì)算機(jī)世界之中。但是到了七十年代末期,軟件行業(yè)受到軟件危機(jī)的困擾,面向過程這種結(jié)構(gòu)化的開發(fā)方法不能夠很好地解決軟件危機(jī),面向?qū)ο筮@種全新概念的方法由此出現(xiàn)。

對象是人腦中的物質(zhì)意識(shí)和精神意識(shí),通俗地講,就是事物在人腦中的映象和人腦對事物的意向,對象不是實(shí)體,它可以脫離實(shí)體而存在,對象之間也可以包含對象。對象(Object)一詞,早在十九世紀(jì)就有現(xiàn)象學(xué)大師胡塞爾提出并定義,對象是世界中的物體在人腦中的映象,是人的意識(shí)之所以為意識(shí)的反映,是做為一種概念而存在的先念的東西,它還包括了人的意愿。對象就是客觀世界中物體在人腦中的映象及人的意向。只要這個(gè)對象存在我們的思維意識(shí)當(dāng)中,我們就可以借此判斷同類的東西,這是哲學(xué)意義上的對象。我們經(jīng)常所說的“對象”,一般指的是解決信息領(lǐng)域內(nèi)所遇到問題的方法,特別是應(yīng)用軟件技術(shù)來解決問題的方法。如我們經(jīng)常碰到的面向?qū)ο蟮木幊?Object-Oriented Programming)、面向?qū)ο蟮姆治?Object-Oriented Analysis)、面向?qū)ο蟮脑O(shè)計(jì)(Object-Oriented Design)等。應(yīng)用前面所介紹的關(guān)于對象的概念,可以對這些問題做進(jìn)一步的分析。在面向較復(fù)雜的系統(tǒng),我們可以將它作為一個(gè)對象來進(jìn)行分析。一個(gè)系統(tǒng),或者說解決某個(gè)問題的全套解決方案,作為一個(gè)對象來看,可以由多個(gè)部分組成。同樣,這個(gè)對象也可以由多個(gè)對象組成。對于同類的事物,可以由一個(gè)對象來表示。

哲學(xué)家維特跟斯坦(Wittgenstein),在哲學(xué)史上第一次清楚地表達(dá)了對象的思想,更進(jìn)一步提及了以后的事情。他在他的著作《邏輯哲學(xué)論》(Tractatus Logico-Philosophicus)中闡述了一種世界觀,或者說一種認(rèn)識(shí)世界的觀點(diǎn),這種觀點(diǎn),在六七十年后的今天,終于由一種哲學(xué)思想沉淀到技術(shù)的層面上來,成為計(jì)算機(jī)業(yè)界的寵兒,這就是面向?qū)ο?OO)-----(Object-Oriented)。他的思想主要可以概括為:世界由實(shí)際發(fā)生的一切事實(shí)(facts)所組成;事實(shí)(facts)由原子事實(shí)(atomic facts)所組成;原子事實(shí)(atomic facts)由更基本的對象(objects)所組成;我們的關(guān)于外部世界的主觀描述圖畫,與它所描述的外部世界具有相同的邏輯結(jié)構(gòu);我們的思想與客觀世界是邏輯同構(gòu)的;語言的極限就是世界的極限,等等。中心思想是(1)世界可以分解為事實(shí)(The world divides into facts),(2)事實(shí)是由原子事實(shí)(atomic facts)組成的。(3)一個(gè)原子事實(shí)是多個(gè)對象(objects)的組合。(4)對象是基本的(The Object is simple)。(5)對象形成了世界的基礎(chǔ)。即:世界---事實(shí)----原子事實(shí)----對象,這樣一個(gè)從整體到局部、從抽象到具體的認(rèn)識(shí)鏈,在這個(gè)層次中,對象作為最基本的模塊,構(gòu)成了整個(gè)認(rèn)識(shí)大廈的基石。對象通過相互之間的復(fù)雜的關(guān)聯(lián)構(gòu)成了整個(gè)世界,這個(gè)觀點(diǎn)也是面向?qū)ο罄碚摰幕?/p>

面向?qū)ο笫侨藗冋J(rèn)識(shí)客觀世界的抽象層次不斷提高的過程的發(fā)展結(jié)果,它采用類和對象的概念,把變量以及對變量進(jìn)行操作的函數(shù)和過程封裝在一起,用這種更高一級(jí)的抽象來表達(dá)客觀世界。面向?qū)ο蠓椒ㄆ鹪从诹甏┢?它是一種新的認(rèn)知和表示世界的分析方法、設(shè)計(jì)方法和思維方法。面向?qū)ο蠓椒▽W(xué)的出發(fā)點(diǎn)和所追求的基本目標(biāo)是使人們分析、設(shè)計(jì)與實(shí)現(xiàn)一個(gè)系統(tǒng)的方法盡可能接近人們認(rèn)識(shí)一個(gè)系統(tǒng)的方法。也就是使描述問題的問題空間和解決問題的方法空間在結(jié)構(gòu)上盡可能一致。其基本思想是:對問題空間進(jìn)行自然分割,以更接近人類思維的方式建立問題域模型,以便對客觀實(shí)體進(jìn)行結(jié)構(gòu)模擬和行為模擬,從而使設(shè)計(jì)出的軟件盡可能直接地描述現(xiàn)實(shí)世界,構(gòu)造出模塊化的、可重用的、維護(hù)性好的軟件,同時(shí)限制軟件的復(fù)雜性和降低開發(fā)維護(hù)費(fèi)用。

面向?qū)ο蠓椒ㄔ谲浖_發(fā)中對方案的解決具有很大的好處,在設(shè)計(jì)優(yōu)秀合理的情況下尤其如此,人們可以只編寫一次代碼而在今后能夠反復(fù)重用,面向?qū)ο缶幊虦p少了編寫代碼的總量,加快了開發(fā)的進(jìn)度,也同時(shí)降低了軟件中的錯(cuò)誤量。同時(shí)面向?qū)ο蠹夹g(shù)也為軟件工業(yè)實(shí)現(xiàn)工程化提供了強(qiáng)有力的支持。

人們提出了許多面向?qū)ο蟮挠?jì)算機(jī)程序設(shè)計(jì)語言、面向?qū)ο蟮能浖O(shè)計(jì)方法、面向?qū)ο蟮臄?shù)據(jù)庫等等。自80年代后期以來,相繼出現(xiàn)的多種面向?qū)ο箝_發(fā)的方法有O M T(O b j e c t M o d e l i n g Technique),OOD(Object Oriented Design),RDD(Responsibility-Driven Design),OOAD(Object-Oriented Analysis and Design),OOSE(Object-Oriented Software Engineering)和VMT(Visual Modeling Technique)等等,C++,Objective-C,Object Pascal,CLOS(Common Lisp Object System),Eiffel,Actor這些語言也相繼出現(xiàn)。面向?qū)ο蠓椒ㄒ呀?jīng)發(fā)展成一種完整的方法論和系統(tǒng)化的技術(shù)體系。

那么面向?qū)ο蠓椒ㄖ竽?軟件工程的發(fā)展方向又應(yīng)該是什么呢?由上面的討論可以知道,軟件工程的發(fā)展歷史就是人們不斷追求更高的抽象、封裝和模塊化的歷史。由維特根斯坦在《邏輯哲學(xué)論》中提出的思想得知,比對象更為抽象的概念是“事實(shí)(FACT)”,即面向?qū)ο笾笫敲嫦蚴聦?shí),OO之后是FO(Fact-Oriented)。在他的哲學(xué)思想上來說,世界是所有事實(shí)的總和,世界可以分解為事實(shí)。任一事實(shí)或者為真,或者不為真。其次,那些為真的事實(shí),是由原子事實(shí)(atomic facts)組成的。原子事實(shí)和簡單對象的關(guān)系是一個(gè)原子事實(shí)是多個(gè)對象(object)的組合。在原子事實(shí)中,對象以某種確定的方式相連。原子事實(shí)中對象相互連接的方式即是原子事實(shí)的結(jié)構(gòu)。也就是說,原子事實(shí)是有結(jié)構(gòu)的,這種結(jié)構(gòu)被維特根斯坦看作是現(xiàn)實(shí)世界的模式(form)。這里有幾個(gè)重要的概念:事實(shí)(fact)、原子事實(shí)(atomic fact)和模式(form)。這樣可以知道面向?qū)ο?OO)之后是面向事實(shí)(FO),在面向事實(shí)(FO)的分析、設(shè)計(jì)和編程中,我們將主要圍繞事實(shí)(fact)、原子事實(shí)(atomic fact)和模式(form)這些基本概念來組織我們的軟件開發(fā)活動(dòng)。在人們認(rèn)識(shí)世界的層次結(jié)構(gòu)中,這些概念是比對象(object)和類(class)更高一級(jí)的抽象。

那么面向事實(shí)以后又該是什么呢,這在哲學(xué)上看來這個(gè)問題似乎是無法解決的,它表明,存在一個(gè)極限。首先,要知道,軟件的實(shí)質(zhì)是人們以計(jì)算機(jī)編程語言為橋梁,將客觀感知世界映射于計(jì)算機(jī)世界中去,以解決人們在客觀感知世界中要解決的問題。這里牽涉三個(gè)主要的范疇:客觀世界,計(jì)算機(jī)編程語言和計(jì)算機(jī)世界,計(jì)算機(jī)方面很顯然,在單片CHIP上集成的元件個(gè)數(shù)總會(huì)有限,發(fā)展不可能無限進(jìn)行下去,軟件直接受硬件的發(fā)展限制;計(jì)算機(jī)編程語言方面,人們利用軟件解決問題,總會(huì)求助于數(shù)學(xué)上的算法,如果一個(gè)問題根本沒有算法,那么肯定是得不到解決的,還有一些問題,雖然理論上存在算法,但在人類有限的時(shí)間和空間里也同樣不可能得到解決,這類的問題人們也是束手無策;再看客觀世界,人們總是不斷在用自己的主觀思維來描述身邊的客觀世界,人類的主觀思維充斥著自己離奇古怪的幻想和起伏不定的情緒,具有極大的跳躍性和不確定性,常常以直覺、想象的方式進(jìn)行著自己的活動(dòng),通常是語言所不能表達(dá)的,也就更談不上用程序去表達(dá),軟件開發(fā)者的這個(gè)主觀想象世界很大程度上地影響著軟件的開發(fā),這里存在一個(gè)極限。維特根斯坦在《邏輯哲學(xué)論》中有一句話清楚地表達(dá)了這種思想:“對于那些不可言說的,必須保持沉默(Whereof one cannot speak,thereof one must be silent)。”

[1]全增暇,主編.《西方哲學(xué)史》.1996年.

[2]李光志,等.對象分析與設(shè)計(jì)方法比較.電子工業(yè)出版社,1996年.

[3]馮玉琳,等.對象技術(shù)導(dǎo)論.科學(xué)出版社,1998年.

[4]邵維忠,楊芙清.面向?qū)ο蟮姆治?清華大學(xué)出版社,1998年.

猜你喜歡
面向?qū)ο?/a>原子對象
神秘來電
原子究竟有多???
原子可以結(jié)合嗎?
帶你認(rèn)識(shí)原子
面向?qū)ο蟮挠?jì)算機(jī)網(wǎng)絡(luò)設(shè)計(jì)軟件系統(tǒng)的開發(fā)
面向?qū)ο蟮臄?shù)據(jù)交換協(xié)議研究與應(yīng)用
基于熵的快速掃描法的FNEA初始對象的生成方法
面向?qū)ο骔eb開發(fā)編程語言的的評估方法
區(qū)間對象族的可鎮(zhèn)定性分析
面向?qū)ο笮畔⑻崛≈杏跋穹指顓?shù)的選擇
卢龙县| 黑山县| 周宁县| 方山县| 茂名市| 清徐县| 四会市| 富源县| 新闻| 武清区| 苏尼特左旗| 新晃| 朝阳区| 定远县| 双辽市| 格尔木市| 张掖市| 中江县| 赤壁市| 淮南市| 梨树县| 扶风县| 武城县| 土默特右旗| 任丘市| 平果县| 邳州市| 泾源县| 武城县| 布尔津县| 金昌市| 湖南省| 宁陕县| 寿光市| 孝感市| 田阳县| 洪雅县| 富蕴县| 威信县| 琼海市| 东海县|