后记
* 尚未完成,请勿转载
其实我与高先生、韩磊、熊节素未谋面,也并无任何个人恩怨,我的批评仅仅是针对他们公开发表的文字作品中的错误,以及由这些错误所反映出来的糟糕的学习态度和职业素养。“对事不对人”是我们一贯秉持的原则。我所提到的高展、韩磊、熊节(透明、gigix、剃刀)等只是用来方便指代文章的作者,而我所反映的内容并不全面,也可能存在误解,我们的讨论仅限在对软件领域以及媒体工作的认识之内。
2002 年 6 月初当我偶然在《程序员》上读到高先生的大作《UML三大硬伤》(指“UML上不着天,下不着地,一盘散沙”),看完后我的第一个反应是当场想拍桌子。主要原因:这是我有生一来,第一次看到一篇以专家名义发表的如此糟糕的技术文章,而它瞬间颠覆了我不久前刚刚建立起来的对 《程序员》这份杂志的好感。这篇文章是如此之差,以至于如果这是一篇学习 OO 技术的学生交给我审的论文,我会毫不犹豫地告诉他:回去重读一年再来。
该文发表后,CSDN 不久即在网上组织了关于 UML 硬伤的正反方讨论。我等了 3 个月,看看事态会如何发展下去,可是绝没想到后来《程序员》杂志和高先生还觉得不过瘾,在 2002 年的第 9 期上又登了一篇更加糟糕透顶的《质疑第一代面向对象建模技术》。终于忍无可忍,于是 2002 年 9 月就有了《驳UML三大硬伤论》,这是我酝酿了三个月、花了三周的时间写成的。
高先生的文章对我还是很有帮助的,比如,它提醒了我解决“信息不对称”问题的重要性(当然,他在自己的文章中全然搞反了,UML 能够很有效地帮助减少信息不对称性,而不是相反)。
通过高先生的这两篇文章,我足以断定高先生决非 UML 专家、OO 专家,他犯的大多是常识性错误,显然没有做好功课——查资料、动脑子。在 2003 年末的中国软件技术大会上,凭着演讲提纲中“软件工程的缺陷:软件工程的输出是软件,输入是需求定义,但未教人如何获取需求”这半句话,我又知道高先生在 2003 年这个时候不可能是真正的软件工程专家。
同样在这次大会上,据我的一些与会的朋友讲(具体内容我不清楚,只是大意),高先生在会上曾经解释道,当时写《UML三大硬伤》不是他本人的意思,是在别人的怂恿之下完成的。不管如何,正如我们所料,这可以理解,也算是一种态度的表达吧。2004 年起高先生没有在互联网或其他公开场合继续散播错误的结论(至少我还没有发现),这一点是值得肯定的。在我看到一份文件中,高先生作为工作组长推荐同时采用 UML、IDEF 作为可选的建模语言,这也是一种积极的变化。至此,我想关于 UML 是不是上不着天、下不着地、一盘散沙的讨论随着高先生在那次会议上的口头表述也基本上可以告一段落了。
<TBC>
