历史并非虚无

2003年7月15日

历史或多或少是虚无

-- 亨利·福特

我最近收到了一封来自《UML精粹》读者的不满邮件。当一位愤怒的读者后悔购买,更不用说阅读我的偶尔智慧之言时,我的日子总是不会好过。但这位读者抱怨的内容特别有趣。他具体的抱怨是关于我“不必要的历史”。

当你观察现在的问题情况时,它之所以会这样,是有原因的。通常情况下,如果不了解现状是如何形成的,你就无法理解现在。我的读者抱怨的例子是UML的聚合和组合。这是一个混乱的领域,导致了comp.object中经常出现冗长的讨论,而这些讨论并不十分有学问。我相信,如果不是因为我记得十年前关于这个主题的长时间争论,我将无法理解它。这些争论是聚合安慰剂唯一有意义的来源。

历史对我们的日常工作和生活有着重大影响。我多次感到迷茫,试图理解为什么一段软件会以这种方式工作,然后发现一些历史挖掘带来了一些启迪。许多商业实践都源于历史上的奇特事件。(对于一个特别好的例子,请阅读普里莫·莱维的精彩著作《元素周期表》中的“铬”。)历史当然也渗透到我们的政治生活中,往往比我们想象的要多得多。

因此,当你遇到令人费解的软件或业务规则时,不妨考虑一下它的历史。过去有一种方式可以帮助我们理解现在。

“不能记住过去的人注定要重蹈覆辙。” -- 乔治·桑塔亚纳