《软件框架设计的艺术》试读:1.4 漂亮,真理①和优雅


我敢肯定本书的很多读者对于我美化无绪会愤愤不平。现在这样一种重量级的开发方式往往会把一个程序变成一堆垃圾,怎么能用这种开发方式取代以前那种优雅的软件开发呢?如此丑陋的应用怎么能够保证其正确性呢?其实答案是肯定的,我们只需要去仔细看一下我们大部分人现在所担心的事情。

科学理念仍然深植在我们心中,并始终影响着我们的思维方式。这些由多个世纪以前的古希腊人创建的科学,仍然能在今天影响着我们如何看待真理和美丽之间的关系。对古希腊哲学家来说,最有价值的科学知识其定义是非常简明的,这些知识不会被他人误解,其意义清楚明白,绝不含糊,于是几何学就成为所有科学中最有价值的。这是因为几何学不是一个关于现实世界的科学,它只是几何图形知识,比如说两点间的线是直线,球是一个圆形体,都只是理论知识。几何学的完美是其他任何科学都无法匹敌的,特别是那些与现实世界相关的科学更无法与之相提并论。从远处看时,一个圆状的石头像是一个几何上定义的球。但走近看时,就会发现,这块石头所谓的圆状只是一个概念上的幻想,它其实不是光滑无瑕的。所以岩石方面的科学就不如几何学那样清晰。它必须考虑到真实物件间必然存在的误差。

古希腊人的几何学世界与现实世界的一个重要区别在于稳定性。现实世界中的物体是在不停地变化着的,比如说今天的石头,到了明天,就可能被打成碎片,或者雕刻成某样物品。但几何学中所有的几何物体都会保持一致,直角永远都是90度。这样可以保证几何学中关于物体及物体间关系的思路和理论会永远有效。几何学中的真实和现实世界中的真实完全不同,前者可以永远为真,而后者则未必。所以古希腊人把几何学看作绝对真理的科学。

几何学的物体会因为其复杂性而产生改变。比如说,定义一个圆就需要定义它的圆心和半径。定义一个椭圆,则需要定义两个半径,一个半径是不够的。所以定义一个圆要比定义一个椭圆简单。同样,定义一个正方形要比定义一个长方形简单。从几何学的角度来说得清楚一些,那就是圆要比椭圆更加纯粹或者更加漂亮,正方形也比长方形纯粹而漂亮。在古希腊的哲学家认识到这一点以后,几何学就不仅仅是一门关于真理的科学,更是一个充满美丽和优雅的科学。从此以后,真理与美丽就成双成对地出现,不仅体现在几何学中,而且在艺术和其他领域也是如此。古希腊的雕塑也体现了几何学的美,雕塑中使用了很多不同的比例(比如说头应该是躯体高度的1/8②,还有黄金分割,等等),这些都体现了几何的真实、漂亮和优雅。

在文艺复兴时期,古希腊风格以及古希腊人对于比例、美丽及和谐的思想,在艺术和科学方面可谓是无所不在。那时的艺术,正如文艺复兴其名,完全是建立在古希腊美学的遗产之上的。但古希腊美学的影响力并不限于艺术,它也进入了哲学以及刚刚诞生的、研究现实世界的物理学领域。伽利略和其他人将几何学引入了现实的世界。他们将现实的世界抽象成理想而且完美的几何学世界,像透过玻璃窗一样看这个现实的世界,他们眼中看到的不仅仅是一个现实世界,更是现实世界背后隐藏的几何世界。比如说,他们把现实世界中的物体看作是点的集合,它们的移动方式是弹道曲线,以圆的方式自转。这一切把几何世界与现实世界紧密地结合起来了。几何学变成了现实世界背后的本质。伴随着几何学的发展,现实世界也迎来了真实与美丽。

文艺复兴时期的物理学取得巨大的成功,牛顿的物理学定律和此前的几何学相结合,使得物理学几乎变成了最完美的科学。它在描述现实世界的同时还能保持几何学的优雅。行星为何按一条椭圆轨道运行,抛出的物体为何按抛物线轨道运行,这一切都可以用科学来加以解释。在此基础上,人们可以对未来做出一定程度的预测。物理学诠释了这个现实的世界及它的运作方式,同时揭示了其背后隐藏的规律。从此以后,在人们的眼中,这个世界就不再是一团迷雾,它是如此地美丽。于是,了解牛顿物理学的人会发现,真理和美丽又紧密结合在一起,这次它们不仅存在于几何世界中,也存在于现实世界中。

牛顿物理学是文艺复兴时期最杰出的理论,它为文艺复兴画上了完美的句号。经典物理学是如此地优雅、正确和美丽。它基于欧几里得③的几何学来描述这个现实世界,事实上,它是理性主义最完美、最精确的表达形式,仅仅结合人类的思维而不用借助于经验就创建了这样的物理学世界。然而自牛顿物理学创立以来,物理学已经发生了变化。爱因斯坦④让我们认识到,空间并不像欧几里得模型所描述的,事实上它是弯曲的。量子理论证明了几何学并不是一种能够描述现实世界的模型。事情变得越来越复杂,这导致现代物理学与古希腊几何学已经完全没有什么关系了。当然科学仍然有其用途,可以用来揭示某些真理,但它也与几何学的距离也越来越远了,现实世界似乎是越来越无法用美学来定义了。

另一方面,大多数成年人(包括软件工程师在内)只知道牛顿所创建立的物理学。我们也有很多人听说过相对论,但却没有几个人可以解释相对论。因此我们有个假想,认为这个世界仍然可以用牛顿物理学进行完美的诠释,我们仍然相信,这个世界的其他部分也是美丽的。事实上,每一类科学都尝试着能够像几何学和物理学一样,变得纯粹。只有它结合了真实与美丽,才被认为是良好的科学。也许美丽只是能够更自然地识别和记忆,而相反,混沌理论却是没有什么结构可言的。

电影《密码迷情》

最近我看了一部名为《密码迷情》(Enigma)的电影,这部电影讲述的是在第二次世界大战中的一个爱情故事,与安全加密相关。有人问作为数学家的主人公是否喜欢数学。他的回答是: “我喜欢数字,因为数字是真实和美丽的结合。当你发现一切在变得更加美好时,你会知道前行的方向是正确的。数字让你可以更接近所有事物背后的秘密。”我很难想象还有比这句话更好地褒扬希腊人热爱真理、美丽和优雅的话了。一部给非科学家看的浪漫爱情电影中竟然也会出现这样的对白,可见这三者合一的理念是多么深入人心。

计算机科学和软件工程其实也不例外,它们也需要美丽和真理。然而,应该牢记一点,软件的首要目标是在发布给客户以后能够可靠地运行,以提供客户需要的功能。在软件正式发布前的冲刺阶段,所有的软件工程师根本不会想到美丽这个词,而是把精力集中在修复bug上,严格地说是绕开严重bug上,然后按计划来发布软件产品。事实上,这个时候,简单和优雅根本不是工作的目标。虽然大家都会感觉应该做这件事,但已无暇顾及。现在我们既然认识到这一点,就可以祭起无绪开发这样的大旗,作为从今往后的软件开发方法论。

① 原文此处为truth,直译应该为真理、真实,但考虑到下文所说的内容很多都与几何学有关,国内对于几何学的规则一般都翻译成公理,翻译本节时也将部分truth翻译成公理。——译者注

② 这种比例在中文,有人称为九头身,意思就是头部的长度与身高的比例为1:9,也就是头与主干的比例为1:8。

——译者注

③ 欧几里得(Euclid)是古希腊著名数学、欧氏几何学的开创者。——译者注

④ 全名为阿尔伯特•爱因斯坦(Albert Einstein,1879年3月14日—1955年4月18日),理论物理学家,相对论的创立者。——译者注
原文地址:https://www.cnblogs.com/shihao/p/2145079.html