最高境界的软件
黄国强 2004-12-8
何谓最高境界的软件,每个人心中都有着不同的答案。我心目中最高境界的软件是一个有机体,而非无机体。有机体的主要特征就是不停的演变,演变一旦停止,这个物种离死亡不远了。
传统的建筑是典型的无机体,一旦建成及演变结束。而软件我认为与有机体相似。
所以,一个软件的好坏,不是他最初的水平,而是他的演化速度。这就是目前轻量级的开发方法备受推崇的原因。一个物种是无法预测未来环境的变迁。同样,再好的软件设计师也无法准确的预计自己软件未来的需求和使用范围。那么优秀的软件设计师唯一要做的就是利用现有技术创建一个软件有机体,然后等着使用者的反馈,再来修改。每一次的修改能否成为愉快的经历,软件设计师设计的架构的好坏起着决定性的作用。