经典语录
这里存放一些我赞成的或者是我认为有趣的言论。
计算机科学
Argument three is based on the constructive approach to the problem of program correctness. Today a usual technique is to make a program and then to test it. But: program testing can be a very effective way to show the presence of bugs, but is hopelessly inadequate for showing their absence. The only effective way to raise the confidence level of a program significantly is to give a convincing proof of its correctness. But one should not first make the program and then prove its correctness, because then the requirement of providing the proof would only increase the poor programmer’s burden. On the contrary: the programmer should let correctness proof and program grow hand in hand. Argument three is essentially based on the following observation. If one first asks oneself what the structure of a convincing proof would be and, having found this, then constructs a program satisfying this proof’s requirements, then these correctness concerns turn out to be a very effective heuristic guidance. By definition this approach is only applicable when we restrict ourselves to intellectually manageable programs, but it provides us with effective means for finding a satisfactory one among these.
– Edsger Wybe Dijkstra, The Humble Programmer
论据三基于程序正确性问题的构造性方法。当今的技术是先编写程序,再对其测试。但是,对程序进行测试在发现漏洞方面行之有效,却不足以说明程序绝无漏洞。在显著提升程序的置信等级方面,唯一行之有效的方式是给出一个关于程序正确性的令人信服的证明。但是并不应该先设计程序然后证明其正确性,因为证明程序正确性的工作只会给那些可怜的程序员增加负担。与之相反,程序员应该同时进行程序正确性的证明和程序设计工作。论据三本质上基于以下观察。如果程序员首先自问,一个令人信服的证明的结构是什么样的,一旦想清楚这个问题,然后就可以构造一个程序来满足证明所要求的条件,这样,对程序正确性的考察就变成了一个非常有效的启发式指导。根据定义,只有当我们把讨论的问题在智能可控制的程序时,才可以使用这种方法,但是这种方法也提供了许多有效的方法,让我们从中挑选一个满意的。
—— 艾兹赫尔·韦伯·戴克斯特拉,《谦卑的程序员》
如果它存在,而且你能看见它——它是真实的(real)
如果它不存在,但你能看见它——它是虚拟的(virtual)
如果它存在,但你看不见它——它是透明的(transparent)
如果它不存在,而且你也看不见它——那肯定是你把它擦掉了。
—— IBM 用于解释虚拟内存的张贴画,大约是在1978年
—— 《C专家编程·第七章 对内存的思考》,P145
If art interprets our dreams, the computer executes them in the guise of programs!
如果说艺术解释了我们的梦想,那么计算机就是以程序的名义执行着它们。
——[美]Alan J.Perlis,《计算机程序的结构和解释》之序
哲学
然而在我看来,并非我们的寿命短,而是我们浪费的时间多。
一个一离海港就遭遇暴风雨,而后被来自不同方向的持续的狂风一会儿吹到这儿,一会儿吹到那儿,被迫在原地打转的人,你怎么能认为他也算做了长途旅行呢?他并非航行的路程很远,而是被颠簸的距离很长。
然而,对于那些在远离一切事务中度过其生命的人而言,生命为什么会不丰足呢?他们的生命一点也没有让与另外一个人,一点也没有散落在这个方向和那个方向,一点也没有交托给命运之神,一点也没有因疏忽而消失,一点也没有因奢侈的给予而减少,一点也没有空耗;可以说,生命的全部都产出了收益。因此,尽管其量甚微,却也足够丰余,因此,不管他的最后一天将在什么时候带来,贤哲会毫不迟疑地以坚定的步伐去迎接死亡。
在所有人中,惟有那些把时间花在哲学上的人是闲适从容的,惟有他们才真正地或者;因为他们并不满足于做他们自己的有生之年的忠诚监护人。他们把所有的时代都合并到他们自己的生命中;所有在他们之前流逝的岁月都是他们的储备的添加物。除非我们极端地不领情,否则所有那些人,那些神圣思想的光荣创造者,都是为我们而生;他们为我们准备了生活的方式。其他人的辛劳引领我们看到了最为美丽的事物,这些事物被从黑暗中拖拽出来,带入了光明处;我们没被排除在任何时代之外,我们可以通达任何时代;而且,如果经由心灵的伟大而常悦人类弱点的狭隘界限是我们的愿望,再次就有漫长的时间人我们在其中遨游。我们可以与苏格拉底争论,我们可以与卡尔内亚德一起怀疑,与伊壁鸠鲁一起寻找平静,与斯多亚主义者一起战胜人类的本性,与犬儒主义者一起超越人类的本性。既然自然允许我们与一切时代进行交往,我们为什么不转身脱离这微不足道、转瞬即逝的时间段,全身心地投入到那无限的、永恒的、可与更为优秀的人共同分享的过去?
—— [古罗马]西塞罗《论生命的短促》
一个人没有短衫,研究哲学;另一个人没有书卷,研究哲学;第三个人是半裸者,说道:“我没有面包,但仍然坚持理性。”我也是并非为了从知识里求得食物,而是在坚持理性。
——[古罗马]马尔库斯·奥勒利乌斯,《沉思录·第四卷·三十》
任何在总体上不尊重这些自由的社会,无论其政府形式如何,都不是自由的社会;在任何一个社会中,这些自由的存在如果不是绝对的和不受限制的,那它也不是完全自由的社会。唯一名副其实的自由,就是只要我们不试图剥夺他人的这种自由,不妨碍他们获得这种自由的努力,就可以按照我们自己的方式追求我们自生利益的自由。
——[英]约翰·斯图尔特·密尔,《论自由·第一章:导论》
人生
人生如舞蹈,但更像角力,因为它需要坚定地站住,准备好迎接不可预测的攻击。
——[古罗马]马尔库斯·奥勒利乌斯,《沉思录·第七卷·六十一》
性格的完美在于把每一天如果最后一天度过,不激动,不麻木,不伪饰。
——[古罗马]马尔库斯·奥勒利乌斯,《沉思录·第七卷·六十九》
行事
毫不傲慢的接受,毫不勉强的放弃。
——[古罗马]马尔库斯·奥勒利乌斯,《沉思录·第八卷·三十三》
人们相互藐视,又相互谄媚;互相渴望超过对方,又互相匍匐在对方面前。
——[古罗马]马尔库斯·奥勒利乌斯,《沉思录·第十一卷·十四》
没有名位去挣扎求名位,旁驰博骛,用心不专,是一种浪费;既得名位而社会视为万能,事事都来打搅,惹得人心花意乱,是一种更大的浪费。……学者遇到这种诱惑,必须知所轻重,毅然有所取舍,否则随波逐流,不旋踵就有没落之祸。认定方向,立定脚跟,都需要很深厚的修养。
——朱光潜,《谈修养·第五谈:谈价值意识》