我前年买过这本书,当时草草的翻了下,感觉内容一般,就封面还挺清新。不过我后来常常想起这本书,也想找到些可以称为“美”的代码,因为我一直认为这个观点是有道理的:如同建筑师需要观摩大师作品,编码人员也要看看高手写的代码。可惜很难找到。有可能是我太懒,看的代码太少。
如果“美”严格来说是艺术学科的专属词语,用到工程学科上面可能有点勉为其难。建筑是号称唯一一门工程和艺术相结合的学科,计算机也能得到这个荣誉么?本书就是这样的一种尝试。
难啊!有时候程序运行看上去很美,可是跑到后面看看代码,发现并无神奇的地方,都很trivial,起于人造而终于人造,没有一种生来而来的美。是否是距离产生“美”呢?你无需看代码,直接运行和操作它就可以了。因为你如果过于追究,一位美女对你来说只是一副骷髅,或者是一堆原子分子。油画和音乐是真正的艺术,它的美在于传递了作者的某种思绪和情感,而非高超的熟练的工艺。
但是对于瑞士军刀和iPad我们也能感觉到美,为什么呢?
如果这种情感上的美是最高的基本的美,那么,工艺的精湛和机械的内在的秩序上的美可能是次一级的美。这可能是对计算机的美的一个中肯的评价。这种次一级的美最终也是为了满足情感上的美的需要。
代码之美的一个很大的遗憾在于表达的困难。如上说述,美要站在一个合适的角度来观察,一个软件的合适角度在系统的内在结构和运行以及外在的交互界面,这些都比欣赏一幅画和听一首歌曲难以表达。
而内在的秩序的美更非如同游览一栋建筑一样轻轻松松就能领悟的到。或许内在的秩序的美只是专业人士之间的癖好。