連載14:軟件體系設計新方向:數學抽象、設計模式、系統架構與方案設計(簡化版)(袁曉河著)

公理化的懷疑

我常常反問自己,爲什麼認爲“置換”作爲基本的元素進行研究呢?其實這麼多年都是談到的{抽象;具體}這一對方式來表達軟件設計的,爲什麼還要“標新立異”用“置換”,這一個更加底層的映射關係來進行描述呢?我想主要是基於下面的幾個方面的原因:

抽象和具體的方式目前還無法具有一個準確的概念,在百科中是這樣描述抽象的:

抽象是從衆多的事物中抽取出共同的、本質性的特徵,而捨棄其非本質的特徵。例如蘋果、香蕉、生梨、葡萄、桃子等,它們共同的特性就是水果。得出水果概念的過程,就是一個抽象的過程。要抽象,就必須進行比較,沒有比較就無法找到在本質上共同的部分。共同特徵是指那些能把一類事物與他類事物區分開來的特徵,這些具有區分作用的特徵又稱本質特徵。因此抽取事物的共同特徵就是抽取事物的本質特徵,捨棄非本質的特徵。所以抽象的過程也是一個裁剪的過程。在抽象時,同與不同,決定於從什麼角度上來抽象。抽象的角度取決於分析問題的目的。

抽象和具體的方式表徵一個複合概念,目前其具體的表現形式是一個非常籠統的操作動作,而不是一個原子形式的操作。同時“置換”是建立在具有集合論上的原則操作,能夠給出一個簡單能夠加以證明的概念,即使“置換”的概念有誤,其也能夠通過列舉反例來證明其僞,而這正是一個科學化的處理方式(希望將來軟件計算能夠越來越脫離這種無法通過求證的模棱兩可而形成的概念來支撐整個科學體系,因爲無法證僞,所以就潛藏巨大的危機和錯誤)。

抽象和具體可以使用“置換”概念的一些特殊化的映射來表達,

 抽象和具體只體現在層次中的上下之間的處理,而相對於水平方向上的一些“置換”關係,其無法進行表達(例如值和地址之間的“置換”關係,接口等的置換關係),而這些處理需要通過“置換”來進行統一。

“置換”可以更加方便有效進行公理化處理,通過數學的方法來研究軟件設計的處理,而抽象和具體所處的層次目前無法通過數學模型化的過程的表達(希望將來能夠達到這個目標)。

 將“置換”作爲研究對象可以更加便於研究,雖然這不太符合大家的思維習慣,不過這樣定義才能夠更加嚴謹,才能將之作爲邏輯推理的基礎,在數學中關係定位爲序偶的集合也是基於這方面的考慮。

上面就是我將置換置於公理化的一個過程,可能會招來一大羣吐槽的同行的聲討,當然,我能夠坦然應對所有的質疑聲,因爲從分析的角度來說,具有一個公理的假設,然後在此假設之上經過嚴格的論證和演繹,纔是一個嚴格意義的系統,就如同五大公理構成歐幾里得幾何,光速不變假設形成狹義相對論理論一樣,對於軟件設計來說,能夠更好的發展這門學科。如果我的所謂“理論”有嚴重的問題,我想可能是我對“置換”作爲公理的假設可能不合適,可能還具有更加有效、準確的假設,如果有更能經受嚴格的經過實證的新定義作爲公理,我是非常感激不盡的,因爲軟件設計是一門科學,不是依賴某幾個人,而是依賴於成千上萬人在之上進行不斷論證,不斷實踐,不斷髮展。能爲這個大廈添磚加瓦,難道不感到高興嗎?

在數學上,對於一個公理系統來說,存在一些無法通過本公理系統判斷是否正確或者錯誤的命題,也就是說,任何一個公理系統都是具有侷限性的,置換公理化後也同樣如此。所以置換公理不能包含一切,就算其能夠正確深刻反映軟件設計的本質原理,也是在不同範圍、不同領域、不同時空中的合理性。

 

發佈了42 篇原創文章 · 獲贊 2 · 訪問量 2351
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章