软件之美

来源:互联网 发布:太白捏脸数据 编辑:程序博客网 时间:2024/04/27 13:42

有两本书是我很喜欢的,一本是Robert C.Martin写的《敏捷软件开发--原则、模式与实践》,作者专门为中文版写了一篇序言,标题就是“软件之美”(The Beauty of Software),他写道:

“除了我的家庭,软件是我的挚爱。通过它,我可以创造出美的东西。软件之美在于它的功能,在于它的内部结构,还在于团队创建它的过程。对用户来说,通过直观、简单的界面呈现出恰当特征的程序是美的。对软件设计者来说,被简单、直观地分隔,并具有最小内部耦合的内部结构就是美的。对开发人员和管理者来说,每周都会取得重大进展,并且生产出无缺陷代码的具有活力的团队是美的。美存在于所有这些层次之中。”

另外一本是最近买的《Unix 编程艺术》,作者是Eric S.Raymond,有人站在所谓“主流”的立场说他是美国愤青,我完全不能同意。这本书文笔非常优美,挖掘了软件开发的深层内容。我非常欣赏他在第6章“透明性:来点儿光”(Transparency:Let There Be Light)题记中,引用耶鲁教授David Gelermter的文字:

“美在计算科学中的地位,要比在其它任何技术中的地位都重要,因为软件太复杂了。美是抵御复杂的终极武器。”(Beauty is more important in computing than anywhere else in technology because software is so complicated. Bearuty is the ultimate defense against complexity.)《机器美学:优雅和技术本质》

说的太好了。很多人说程序员是青春饭,只能干到30岁。错了,他不知道软件之美。能够创造、发现并欣赏软件之美的人,他能够一直做到退休。不能欣赏软件之美的人,他仅仅把软件开发看成是普通的谋生工具,缺少了许多乐趣。类似物理学中的美,爱因斯坦的质能公式:E=MC2,简单、精巧而有力,散发出巨大的科学之美。(前阵子在网上爆炒的“历史上最牛的IT女秘书”,那家IT公司居然也取名为EMC,看来他们也知道质能公式之美)

软件之美不仅仅是好看,不仅仅是漂亮,它还是简洁有力的。就像下围棋,优美舒展的棋形总是能战胜“愚形”,锐利的手筋让我们赏心悦目,是取胜的绝招。