業界認爲Ontology與OO不是同樣的東西。我認爲二者其實沒有本質上的區別。編程
Ontology起源於語義網。目前只被用來描述靜態內容。可是天然語言也是用來描述的卻並不僅描述靜態內容。spa
將其能力侷限在靜態內容的描述上是對它的誤解。Ontology能夠用來描述靜態關係,也能夠用來描述動態關係。象天然語言同樣。對象
只要很簡單地給它加上動態語義,它立刻即可以用來代替面向對象的任何語言或者說升級整個編程範式。軟件
由於顯然,Ontology的表達能力比面向對象更強。做爲一種描述型語言,它仍然處於與天然語言相同的地位。也就是說,它自己並無假設任何東西。im
它的惟一假設是:世間一切都是能夠被「描述」的。語言
這樣的語義其實比對象更低。前文有分析過面向對象相對面向過程等其它範式的勝出正是由於其所假設的東西更少而不是最少的結論。由於對象並非一切。升級
固然描述也不是一切。行業
由於世間仍然存在不少咱們如今沒有辦法描述可是咱們知道它們「存在」的東西。但即便這樣,「描述」仍然在認識論中處於比「對象」更低的層次。範式
縱觀從面向過程到本體論,其實整個的發展過程就是一個「低一點」,「低一點」,「再低一點」的邏輯。
而且,軟件行業的這個發展過程其實在某個意義上可能對哲學的研究有很大的反推做用(象蒯因認爲的哲學原本就是在科學中發展同樣)。由於這種「再低一點」的思想其自己來自哲學中的解構主義。
科學都解構了。可是哲學本身卻沒解構。