奥卡姆剃刀?

很久以前沉溺于面向对象研究那会儿,有时看一些作者在这样那样的场合提到奥卡姆剃刀:如无必要,勿增实体。虽然大致知道意思也曾简单提到“奥卡姆剃刀不仅仅是用在面向对象设计中,对方法论本身是不是也可以用这把剃刀去衡量其存在的意义”,事实上我却从来没真正深入了解过这句话。

最近重新看一些哲学/科学读物,注意到William of Occam本人是一个坚定的“唯名派”。用咱们领域的语言简单的说,“唯实派”认为存在“类”,从类产生实例;而“唯名派”认为大家不过是给有一堆共同属性的一群对象起一个名字而已,在这种观念下其实“类”的存在是被强烈否定的。

虽然因为现存工具(包括语言)的原因,在实践中必须运用面向对象的各种手段,不过近几年的我基本上不把面向对象奉为金科玉律的那些理念当回事了(回忆起来我在博客园本来就是以面向对象的质疑者角色出现的);但我仍然没想到对一个信奉面向对象的人来说引用这句话居然是这么大的讽刺。

我本人并不反感面向对象体现出的一些技巧及具体化后产生的工具;看得多了以后,我知道这些东西很大程度上是被面向对象生硬的包含与命名了。而出现在一些面向对象文章中的指导原则(也许甚至还包括其理论基础本身)却根本就是一些胡言乱语。

我强烈建议刚进入软件设计这个行当的年轻人,不要过于轻信;这个时代社会上总有一大群人是靠说话吃饭的、还有人是靠别人说的话吃饭的,任何领域里都一样。但是记住,我们大多数人要靠又快又好的练活吃饭;如果方向是靠说话的指出的,这是一个非常可怕的事情,无论是对于个人、还是社会来说。

最后仍然要修正一下这篇随笔的味道,不要以为我在否定设计这一活动本身、或者我的任何言论可以作为一个人肯定自己不学无术的理由;孙子曰“庙算多者胜、庙算少者不胜,何况于无算者乎”,任何事都是这样。如果说某些“思想”的谬误是“庙算少”的结果,那干脆放弃对方法的研习,又是什么呢?

posted on 2010-12-21 07:00  怪怪  阅读(1099)  评论(17编辑  收藏  举报

导航