很久很久以前,Larry Wall的这段关于“程序员的三种美德”的语录就已经在软件开发领域广为流传了,但是我发现至今中文世界也并没有一个好的(我信服的)翻译。
这里就写下我自己的理解。

Laziness Impatience Hubris
“We will encourage you to develop the three great virtues of a programmer: laziness, impatience, and hubris.” – LarryWall, ProgrammingPerl (1st edition), OreillyAndAssociates
“我们希望你养成程序员的三种美德:懒惰,急性子,傲慢自负。” – 这番话出自《Perl编程语言》(第一版)的作者Larry Wall,
In the second edition of the book (which sports not only LarryWall as author, but also TomChristiansen and RandalSchwartz as co-authors), there is a glossary which has pithy definitions for each of these terms:
在该书的第二版(由Larry Wall和Tom Christiansen及Randal Schewartz合著)中有一个词汇表,对这些词汇给出了精简的说明:
Laziness
The quality that makes you go to great effort to reduce overall energy expenditure. It makes you write labor-saving programs that other people will find useful, and document what you wrote so you don’t have to answer so many questions about it. Hence, the first great virtue of a programmer. Also hence, this book. See also impatience and hubris. (p.609)
懒惰
这是一种品质,使得你为了安享清闲而甘愿付出最大的努力。它使你写出高效的程序来减轻劳动,并且乐于为这些程序准备文档,这样你就不必亲自回答人们针对它提出的众多问题。这是程序员第一重要的美德。
Impatience
The anger you feel when the computer is being lazy. This makes you write programs that don’t just react to your needs, but actually anticipate them. Or at least pretend to. Hence, the second great virtue of a programmer. See also laziness and hubris. (p.608)
急性子
当你发现计算机并没有高效工作时,这会令你感到气恼。这使得你写出的程序不局限于满足你的(当前)需求,而应该积极地提前预判那些潜在的需求。这是程序员的第二重要的品质。
Hubris
Excessive pride, the sort of thing Zeus zaps you for. Also the quality that makes you write (and maintain) programs that other people won’t want to say bad things about. Hence, the third great virtue of a programmer. See also laziness and impatience. (p.607)
傲慢自负
极致的自负,甚至宙斯都会因你过分的自负而对你降下雷霆。这种品质迫使你努力写出并维护人们无法诋毁的程序。这是程序员的第三重要的品质。