业界认为Ontology与OO不是同样的东西。我认为二者其实没有本质上的区别。编程
Ontology起源于语义网。目前只被用来描述静态内容。可是天然语言也是用来描述的却并不仅描述静态内容。spa
将其能力局限在静态内容的描述上是对它的误解。Ontology能够用来描述静态关系,也能够用来描述动态关系。象天然语言同样。对象
只要很简单地给它加上动态语义,它立刻即可以用来代替面向对象的任何语言或者说升级整个编程范式。软件
由于显然,Ontology的表达能力比面向对象更强。做为一种描述型语言,它仍然处于与天然语言相同的地位。也就是说,它自己并无假设任何东西。im
它的惟一假设是:世间一切都是能够被“描述”的。语言
这样的语义其实比对象更低。前文有分析过面向对象相对面向过程等其它范式的胜出正是由于其所假设的东西更少而不是最少的结论。由于对象并非一切。升级
固然描述也不是一切。行业
由于世间仍然存在不少咱们如今没有办法描述可是咱们知道它们“存在”的东西。但即便这样,“描述”仍然在认识论中处于比“对象”更低的层次。范式
纵观从面向过程到本体论,其实整个的发展过程就是一个“低一点”,“低一点”,“再低一点”的逻辑。
而且,软件行业的这个发展过程其实在某个意义上可能对哲学的研究有很大的反推做用(象蒯因认为的哲学原本就是在科学中发展同样)。由于这种“再低一点”的思想其自己来自哲学中的解构主义。
科学都解构了。可是哲学本身却没解构。