《软件框架设计的艺术》试读:1.1 理性主义,经验主义以及无绪①




在文艺复兴时期,现代科学产生了两大重量级理论,表现在哲学方面则为理性主义和经验主义。其中理性主义认为理智是信息的首要来源,并给出一个假设:只需要通过思考就能够理解和描述这个真实的世界。理性主义的支持者包括现代科学的众多先驱,像法国哲学家、数学家勒内•笛卡儿(René Descartes,1596—1650),德国数学家戈特弗里德•威廉•莱布尼茨(Gottfried Wilhelm Leibniz,1646—1716),还有泛神论的创始人斯宾诺莎(Benedict Spinoza,1632—1677)。


理性主义可以说是源起于伽利略②的自由落体实验,该实验证明了无论物体的重量如何,其下落的速度是相同的。这个自由落体实验的结果与人对该现象的本能认识是完全相反的,比如从高处同时丢下一块砖和一张纸,这两者肯定不会同时落地。伽利略和其他现代科学家的智慧体现在:他们在思考问题的时候,是把各种自然规律结合在一起,而不是孤立地分析一个问题。自由落体只是其中的一个规律。伽利略是如何发现这个规律的呢?他是先在大脑中模拟进行自由落体实验。他首先想象两个球,尺寸和重量完全相同,在高处将它们同时丢下。事实上,它们肯定会同时达到地面。然后,他再设想同样的虚拟实验,这次使用一个与原来相同的球,但将另外一个相同的球从中间分成两半,再合在一起变成一个球。可预见到,这个实验的结果与上一个实验应该是完全相同的,两个球仍然会同时落地。现在,假设把第二个球给分成两半,然后用一条丝线把这两个半球连在一起。不管这两个半球之间的丝线长度是1厘米、1米还是更长,第二个球仍然会与第一个球同时落地。即使把这根丝线给拿走,还是会得到相同的实验结果。这个实验的结果完全是与人的本能经验相反。生活经验告诉我们,一张纸的下落速度要慢于石头。但纯粹通过思维进行分析却说明:重量不会影响下落对象的速度。


数学和物理学的潜意识


看到这里,读者会发现,我很喜欢用物理学上的一些故事或者典故。的确如此,自从我读了Petr Vopěnka③的书④以后,这些内容就总在我脑子里晃来晃去,他的书描述了现代数学和物理学中潜意识的重要性。但我无法用自己的语言来诠释这些内容,所以只好在书中直接引用他所讲的内容。本书中,我时不时会引用他的一些观点,但说得会比较简练,因为原作是一本足足有800页的巨著,而且对所有的术语都有详尽的解释。很显然,本书不能这么做。深入地解释这本巨著,已经超出了本书的能力,更非本书的目的。所以,请读者原谅我对某些内容作了精简。


人们总说,伽利略把石块从比萨斜塔扔下去,然后发现了他最著名的自由落体规律⑤。他也许真的这样做了,但那个完全基于想象而完成的虚拟实验,也毫无破绽地解释了同样的行为。这是历史上第一次仅仅使用理论知识就证明了:纯粹通过观察而得到经验是错误的。虽然在实际生活中,我们可以观察到较轻物体的下降速度比重物的确要慢一些。但我们现在知道,那是因为其他因素干扰了地球引力才造成下降速度有所差异。该实验证明了纯粹理性主义的可用性,这正是莱布尼茨与笛卡儿认为理性主义胜过经验主义的主要动力,它催生了整个理性主义哲学运动。事实上,这种思想一直确信:研究的主题应该是合理的,也必须是合理的。如果通过推理可以发现,则必然要有一个合理的起点。


在英吉利海峡的另一边诞生了经验主义。几乎在同一时代,那些伟大的英国思想家,如戴维•休姆(David Hume,1711—1776),约翰•洛克(John Locke,1632—1704)和乔治•伯克利(George Berkeley,1685—1753),他们都坚持认为,人类对世界认识的主要来源是经验。如果看不到、听不到也感觉不到我们现有的这个世界,那么人们根本无法对这个世界进行思考。理解万事万物的基本方式就是体验,或者换个科学用语,可以称之为做实验。如果追溯一下,是谁第一个使用科学实验的方式来向大众表述一个想法或者一个假设是正确的,那么据传说,当属伽利略。但从经验主义的观点来看,世界并不一定要是合理的。这个世界不需要追根究底,甚至不需要存在,这一切都无关紧要。如果认为它有意义,它就有意义,不需要理解。


但站在今天的立场来看,如果孤立地基于这两种极端的方式来观察世界,那么就会严重偏离事实。现代科学重视通过各种实验来证实相关理论。此外,笛卡儿也非常清楚地指出,对于科学来说,实验是不可或缺的。所以对我们来说,应该将这两种对立的观察方式组合起来。事实上,人类现在已经在这样做了。大多数人不会思考周围事物的哲学意义,我们更关心的是结果。生命应该是一种享受的过程,而不是乏味的研究和推理。而且,我们日常使用的东西能够正常使用即可,通常不需要关注它的工作原理。例如,我们对汽车和手机的工作原理一无所知,我们只是理所当然地在用它们,我们不关心它们是怎么做到的。我们在生活中不需要琢磨出头绪来。


从理性到无绪


为国际受众设计API和创作书籍是很困难的事情。个人喜好和文化差异都会影响我们处理问题的方式。理性主义者更喜欢先谈理论,了解现实对象背后的联系,而后再创建实例将理论应用到现实世界中来。而经验主义者则正好相反,先想尽各种方法来获取实践经验,最终才会对事物间的联系给出判断。1


本书从一种针对性无绪的角度来解释如何设计API。我们将API看作一种可以将无绪极大化又能得到可靠结果的完美工具。正确理解无绪的真正含义是十分必要的。书中的内容是建立在理性主义的基础上的,在开始的章节中会大讲理论,而非实例。对很多人来说,这也许不是什么好办法,但我不能同时满足两类读者。不过读者不必失望,在理论部分讲完以后,就能建立一个通用的API设计术语库,然后我们就会看到大量的实际应用。3


对大多数人来说,懵懂无知是一种生活方式。这是今天理性主义和经验主义结合在一起的结果,它无所不在。今天的程序开发和软件工程方法也是如此。


① 原文为cluelessness,英文原意为“漫无头绪”,本书中将这个词翻译为“无绪”,在某些情况下会翻译成“懵懂”或“透明”。这个词在本书中的意思,很难找到一个合适的中文词来对应,它在本书中的主要意思为:即使某个人对某一样事物的内在本质并不清楚,也很可以很好地使用该事物,如大部分人都不知道电视机的原理,但并不妨碍大家使用电视机观看电视,在本书中作者想表达同样的意思,即开发人员不需要知道某个组件或者模块的内在实现原理,也可以很好地使用该组件或模块对外提供的API来完成自己所需要的功能。——译者注


② 伽利略•伽利莱(Galileo Galilei,1564年2月15日—1642年1月8日),意大利比萨人。物理学家和天文学家,近代实验科学的奠基者之一,科学革命的先驱。——译者注


③ Petr Vopěnka是一位捷克的数学家,代替集合论是由他和他的学生提出的。——译者注


④ Petr Vopĕnka Úhelny kámen evropské vzdelanosti a moci (Prague: Práh, 1999)。


⑤ 关于伽利略是否做过自由落体这个实验,一直是有争议的,经历史学家考证,没有任何理由表明伽利略做过该实验,因为在伽利略的著作中没有提过任何该实验的信息。而伽利略做比萨斜塔实验的这一传闻来自伽利略晚年的学生维维安尼,他在伽利略的传记中提到伽利略曾做过此实验,事实上,一位亚里士多德学派的物理学家为了反驳伽利略,真的于1612年在比萨斜塔做了一个实验。结果表明,材料相同但质量不同的物体并不是在同一时刻到达地面的,伽利略在《两门新科学》中对此有一个辩护,意思是说,重量1∶10的两个物体下落时只差很小的距离,可亚里士多德却说相差10倍。为什么忽视亚里士多德如此重大的失误却盯住我小小的误差不放呢?这也表明伽利略没有做那个实验。




你可能感兴趣的:(框架)