梦断代码4 : 程序--艺术?
高德纳的丛书名叫《计算机编程艺术(The Art of Computer Programming)》-- 而不是《计算机编程科学( The Science of Computer Programming)》。 他在1984年获得图灵奖时发表感言说,“计算机编程是门艺术”。
程序作为人们思想的结晶,我们不仅要求它可以工作,可以产生正确的结果。我们同时要求它的结构清晰,语法高效,结果美观,能体现出创作者卓越的思想。这一切跟艺术家创作艺术品何其相似。您也许认为这样比喻不恰当,您无法从程序中看到任何美感。
这可能是因为大部分人还是看不懂程序,但即使这样,一些伟大的程序还是能让您看到它与众不同的美,高德纳的TeX、Linux,以及其他很多软件都会再它本身的功能之外给人很多思想。
而代码中的美则更多体现在它的思想、结构等方面,一个完美实现的快速排序,一个简洁明快的接口,一个抽象良好的类,一个简洁完善的逻辑,都能给我们以美的享受。
或许我们不会绘画,不会乐器,但是我们可以寻求程序之美,它的美在被我们感叹的同时,还能帮助用户达成他们的需求。
最后Piet Hein的诗歌描述了我们最求艺术的道路:
通往智慧之路?—— 嗯,一马平川
几句话就能说清:
错
又错
又再错
但更少
更少了
更少了