最佳编程语录
下面是“Neo”和“陈皓”的翻译,我们的翻译水平有限,所以,我们提供了中英文对照,有不当之处,还请各位指正。
A good programmer is someone who looks both ways before crossing a one-way street. — Doug Linder, systems administrator
好的程序员这样一类人,这类人在横穿一条单行道前都要先看一下路两边。– Doug Linder, 系统管理员
A most important, but also most elusive, aspect of any tool is its influence on the habits of those who train themselves in its use. If the tool is a programming language this influence is, whether we like it or not, an influence on our thinking habits. — Edsger Dijkstra, computer scientist
关于工具,一个最重要的,也是最不易察觉的方面是,工具对使用此工具的人的习惯的潜移默化的影响。如果这个工具是一门程序语言,不管我们是否喜欢它,它都会影响我们的思维惯式。 –Edsger Dijkstra, 计算机科学家,著名的“程序=数据结构+算法”的提出者。
Being abstract is something profoundly different from being vague… The purpose of abstraction is not to be vague, but to create a new semantic level in which one can be absolutely precise. — Edsger Dijkstra
抽象和模糊完全地不同,抽象的目的并不是把事情变模糊,而去创建一个新的语义层,在那里是绝对精确的描述。 — Edsger Dijkstra
Besides a mathematical inclination, an exceptionally good mastery of one’s native tongue is the most vital asset of a competent programmer. — Edsger Dijkstra
除了数学爱好,对于一个有能力的程序员来说,出色地掌握自己的母语是最宝贵的财富。– Edsger Dijkstra
C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do, it blows away your whole leg. — Bjarne Stroustrup, developer of the C++ programming language
C很容易使你搬起石头砸自己的脚,而C++把这事变得更难,但是如果一定要这么做,那么你的整条腿都会被炸飞 -Bjarne Stroustrup, C++语言的发明者
Commentary: most debugging problems are fixed easily; identifying the location of the problem is hard. — unknown
修复bug很容易,但是定位bug却很困难 – 匿名
Considering the current sad state of our computer programs, software development is clearly still a black art, and cannot yet be called an engineering discipline. — Bill Clinton, former President of the United States
看看当前计算机程序糟糕的事态,软件开发明显一直是一门妖术,其仍然不能被称为一个工程学。 –比尔.克林顿 美国前总统
For a long time it puzzled me how something so expensive, so leading edge, could be so useless, and then it occurred to me that a computer is a stupid machine with the ability to do incredibly smart things, while computer programmers are smart people with the ability to do incredibly stupid things. They are, in short, a perfect match. — Bill Bryson, author, from Notes from a Big Country
长期以来,有个事一直困扰着我,那就是越是昂贵的,越是前沿的,就越可能是没用的。然后,困扰我的另一个事是,计算机是一个死的机器,却可以不可思议地去完成那些巧妙的事情,而计算机程序员是那么聪明人却在做着不可思议的愚蠢的事情,简而言之,他们真是天生的一对。– Bill Bryson旅游文学作家 Big Country中的笔记
Given enough eyeballs, all bugs are shallow (e.g., given a large enough beta-tester and co-developer base, almost every problem will be characterized quickly and the fix obvious to someone). — Eric S. Raymond, programmer and advocate of open source software, from The Cathedral and the Bazaar
足够多的眼睛,就可让所有问题浮现(比如:只要给于足够多的beta测试者和开发人员一起工作,那么,几所所有的问题都会很快的出现,而修正也会是显而易见的)
Good code is its own best documentation. As you’re about to add a comment, ask yourself, ‘How can I improve the code so that this comment isn’t needed?’ Improve the code and then document it to make it even clearer. — Steve McConnell, software engineer and author, from Code Complete
好的代码自己本身就是最好的文档。当你打算加注释的时候,问问自己‘我如何才能把我的代码改善到不需增加注释?’重构自己的代码,然后使文档让其更清楚。 — Steve McConnell《代码大全》的作者
Hey! It compiles! Ship it! — unknown
嘿,编译通过了!出货!–匿名
Inside every well-written large program is a well-written small program. — Charles Antony Richard Hoare, computer scientist
在每个编写精良的大程序里面都是一个编写精良的小程序。 –Charles Antony Richard Hoare,计算机科学家
It should be noted that no ethically-trained software engineer would ever consent to write a DestroyBaghdad procedure. Basic professional ethics would instead require him to write a DestroyCity procedure, to which Baghdad could be given as a parameter. — Nathaniel S. Borenstein, computer scientist
需要注意的是,没有哪个经过规范培训的工程师会赞成写一个DestoryBaghdad(摧毁巴克达)的函数。最基本的职业规范会告诉他们应该去写一个叫DestoryCity的函数,然后把“Baghdad”(巴克达)当成这个函数的参数。—— Nathaniel S. Borenstein, 计算机科学家
Managing programmers is like herding cats. — unknown
管理程序员就如同养一群猫一样 –匿名
Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates, co-founder of Microsoft Corporation
用代码行数来衡量编程的进度,就如同用航空器零件的重量来衡量航空飞机的制造进度一样。——Bill Gates,微软创始人
More good code has been written in languages denounced as bad than in languages proclaimed wonderful — much more. — Bjarne Stroustrup, from The Design and Evolution of C++
好的代码都都在的批评声中写成的,而差的则是在表杨声中写成的。——Bjarne Stroustrup, 摘自《The Design and Evolution of C++》
Programs must be written for people to read, and only incidentally for machines to execute. — Harold Abelson and Gerald Jay Sussman, computer scientists and authors, from The Structure and Interpretation of Computer Programs
代码应该是写给其他人来读的,而能让机器运行的仅仅是附带着的。—— Harold Abelson 与 Gerald Jay Sussman, 计算机科学家和作家,摘自《The Structure and Interpretation of Computer Programs》
Real programmers don’t comment their code. If it was hard to write, it should be hard to understand. — unknown
真正程序员从来不写代码的注释,如果代码非常难写,那么同样代码的注释也会非常难懂 –匿名
Simplicity is prerequisite for reliability. — Edsger Dijkstra
简单是可靠的前提条件 — 迪杰斯特拉
The C programming language — a language which combines the flexibility of assembly language with the power of assembly language. — unknown
C语言—— 一门同时具有了汇编语言灵活性和汇编语言强大能力的语言。– 匿名
The first 90% of the code accounts for the first 90% of the development time. The remaining 10% of the code accounts for the other 90% of the development time. — Tom Cargill, object-oriented programming expert at Bell Labs
开始的90%的代码用了90%的开发时间,而剩下的最后的10%的代码会需要另外90%的开发时间。– Tom Cargill,面向对象编程专家,贝尔实验室
The important point is that the cost of adding a feature isn’t just the time it takes to code it. The cost also includes the addition of an obstacle to future expansion. Sure, any given feature list can be implemented, given enough coding time. But in addition to coming out late, you will usually wind up with a codebase that is so fragile that new ideas that should be dead-simple wind up taking longer and longer to work into the tangled existing web. The trick is to pick the features that don’t fight each other. — John Carmack, computer game programmer
增加一个功能特性的成本并不单单是为这些功能编码所花费时间的成本,还这个成本应该包括特性扩展的障碍成本。当然,任何的功能清单都可以被实现,只需要有足够的时间。但是除些之外,你应该对你的代码库的脆弱性感到紧张,而那些新的想法应该足够的简单,而不是去花费更多更多的时间去纠缠于现有的蜘蛛网。这里的决窃是挑选那些不会和别人冲突的的功能。
The key to performance is elegance, not battalions of special cases. The terrible temptation to tweak should be resisted unless the payoff is really noticeable. — Jon Bently and M. Douglas McIlroy, both computer scientists at Bell Labs
表现的关键是精美和典雅的,并不是使用大量的特殊案例。对于任何调整的冲动都应该是被限制的,除非其回报真的是值得注意的。– Jon Bently and M. Douglas McIlroy, 二者都是贝尔试验实的计算机科学家
The last good thing written in C was Franz Schubert’s Symphony Number 9. — Erwin Dieterich, programmer最后一件用C做的好作品就是弗朗茨.舒伯特的C大调第9交响曲 — Erwin Dieterich, programmer程序员
The problem with using C++ … is that there’s already a strong tendency in the language to require you to know everything before you can do anything. — Larry Wall, developer of the Perl language
使用C++最大的问题是..在C++语言里,存在这一种很强的趋势,就是如果你不明白C++语言的细节,你就无法做好任何事情。– Larry Wall, developer of the Perl language
The sooner you start to code, the longer the program will take. — Roy Carlson, University of Wisconsin
你越早开始都手编码,你所花费来编程的时间就越长 — Roy Carlson, University of Wisconsin
The value of a prototype is in the education it gives you, not in the code itself. — Alan Cooper, software author, from The Inmates are Running the Asylum
原型的价值在于他给你的教训,而不是代码自身 — Alan Cooper, software author, from The Inmates are Running the Asylum
There are only two kinds of programming languages: those people always bitch about and those nobody uses. — Bjarne Stroustrup
世界上只有两类编程语言:人们都抱怨的语言和从来没有人使用的语言 — Bjarne Stroustrup
There are two ways of constructing a software design. One way is to make it so simple that there are obviously no deficiencies. And the other way is to make it so complicated that there are no obvious deficiencies. — Charles Antony Richard Hoare
世界上有两个设计软件的方法,一种方法是设计的尽量简单,以至于明显的没有什么缺陷,另外一种方式是使他尽量的复杂,以至于其缺陷不那么明显。
Ugly programs are like ugly suspension bridges: they’re much more liable to collapse than pretty ones, because the way humans (especially engineer-humans) perceive beauty is intimately related to our ability to process and understand complexity. A language that makes it hard to write elegant code makes it hard to write good code. — Eric S. Raymond
丑陋的程序就像一座丑陋的吊桥:他们相比漂亮的良好的吊桥起来,更有可能会坍塌,这是因为人类(尤其是工程师)感知漂亮的东西是和我们处理和理解复杂问题的能力相关的。所以,一个程序语言如果很难以优雅地方式编程,那么其就很难写出好的代码。
Weeks of programming can save you hours of planning. — unknown
多做几周的编程可以节省你做计划的时间 —— 匿名 (意思为,只有实践过了,你才更容易做计划,没有实践过,做起计划来将会很头痛)
When a programming language is created that allows programmers to program in simple English, it will be discovered that programmers cannot speak English. — unknown
当程序语言被设计成允许程序以很简单的英语来编程的时候,人们将会发现编写程序的程序员都来自不会说英语的地方。 –匿名
(全文完,翻译水平有限,如果有误,还请批评指正!)
下面的这些经典的引言来自英文,也许有些我翻译的是不很好,所以,我提供了中英对照,如果有问题,请大家指正。
过早的优化是万恶之源。Premature optimization is the root of all evil!- Donald Knuth
在水里行走和以一个需求规格进行软件开发,有一点是相同的,那就是如果水或需求都被冻住不了,那么行走和软件开发都会变得容易。Walking on water and developing software from a specification are easy if both are frozen- Edward V Berard
Hofstadter 定理:“一件事情总是会花费比你预期更多的时间,就算是你已经考虑过本条Hofstadter 定理”。It always takes longer than you expect, even when you take into account Hofstadter’s Law.- Hofstadter’s Law
有些遇到问题的人总是会说“我知道,我会使用正则表达式”,那么,你现在有两个问题了。(意思是:你本想用正则表达式来解决你已有问题,但实际上你又引入了“正则表达式”的一个新问题)Some people, when confronted with a problem, think “I know, I’ll use regular expressions.” Now they have two problems- Jamie Zawinski
调试程序的难度是写代码的两倍。因此,只要你的代码写的尽可能的清楚,那么你在调试代码时就不需要那么地有技巧。Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.- Brian Kernighan
用代码行来衡量开发进度,无异于用重量来衡量制造飞机的进度。Measuring programming progress by lines of code is like measuring aircraft building progress by weight.- Bill Gates
PHP被一些不合格的业余人员造就成了一个小恶魔;而Perl则是被一些熟练的但不正当的专业人员造就成了一个超级大恶魔。PHP is a minor evil perpetrated and created by incompetent amateurs, whereas Perl is a great and insidious evil, perpetrated by skilled but perverted professionals.- Jon Ribbens
在两个场合我被问到:“请你告诉我,如果你给机器输入了错误的数字,那么,是否还能得到正确的答案?”我并不能正确领会这类想法。(注意,本引言的作者姓Babbage,这个名字和神父同名,意思是,作者在反问提问的人,你是问我还是向神父祈祷?)On two occasions I have been asked, ‘Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out?’ I am not able rightly to apprehend the kind of confusion of ideas that could provoke such a question.”- Charles Babbage
在编程的时候,我们一定要想像一下,以后维护我们自己的代码的那个人会成为一个有暴力倾向的疯子,并且,他还知道我们住在哪里?Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live.- Rick Osborne
现代的编程是“程序员努力建一个更大更傻的程序”和“世界正在尝试创造更多更傻的人”之间的一种竞赛,目前为止,后者是赢家。Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning.- Rich Cook
我才不关于我的代码是否能在你的机器上工作!我们不会给你提供机器。I don’t care if it works on your machine! We are not shipping your machine!- Ovidiu Platon
我总是希望我的电脑能够像电话一样容易使用;我的这个希望正在变成现实,因为我现在已经不知道怎么去使用我的电话了。I have always wished for my computer to be as easy to use as my telephone; my wish has come true because I can no longer figure out how to use my telephone.- Bjarne Stroustrup
计算机是一种在人类历史上所有发明中,可以让你比以前更快地犯更多的错误的发明,同样,其也包括了“手枪”和“龙舌兰酒”这两种发明的缺陷。A computer lets you make more mistakes faster than any other invention in human history, with the possible exceptions of handguns and tequila.- Mitch Ratcliffe
如果调试程序是一种标准的可以铲除BUG的流程,那么,编程就是把他们放进来的流程。If debugging is the process of removing software bugs, then programming must be the process of putting them in.- E. W. Dijkstra
教一群被BASIC先入为主的学生,什么是好的编程风格简直是一件不可能的事。对于一些有潜力的程序员,他们所受到的智力上的伤害远远超过了重建他们的信心。It is practically impossible to teach good programming style to students that have had prior exposure to BASIC. As potential programmers, they are mentally mutilated beyond hope of regeneration.- E. W. Dijkstra
理论上来说,理论和实际是一样的。但实际上来说,他们则不是。In theory, theory and practice are the same. In practice, they’re not.- Unknown
只有两个事情是无穷尽的:宇宙和人类的愚蠢。当然,我现在还不能确定宇宙是无穷尽的。Two things are infinite: the universe and human stupidity; and I’m not sure about the universe.- Albert Einstein
Perl这种语言就好像是被RSA加密算法加密过的一样。Perl – The only language that looks the same before and after RSA encryption.- Keith Bostic
我爱“最终期限”,我喜欢“嗖嗖嗖”的声音就像他们在飞一样。I love deadlines. I like the whooshing sound they make as they fly by.- Douglas Adams
说Java好的是因为它跨平台就像好像说肛交好是因为其可以适用于一切性别。Saying that Java is good because it works on all platforms is like saying anal sex is good because it works on all genders- Unknown
XML就像是一种强暴——如果它不能解决你的问题,那只能说明你没有用好它。XML is like violence – if it doesn’t solve your problems, you are not using enough of it.- Unknown
爱因期坦说,自然界中的一切一定会有一个简单的解释,因为上帝并不是反复无常和独裁的。当然,不会有什么信仰能程序员像爱因期坦那样感到舒服。Einstein argued that there must be simplified explanations of nature, because God is not capricious or arbitrary. No such faith comforts the software engineer.- Fred Brooks
文章:来源
“The first 90% of the code accounts for the first 90% of the development time. The remaining 10% of the code accounts for the other 90% of the development time.” – Tom Cargill “最开始的90%的代码使用了程序员90%的时间,剩下的10%的代码也需要90%的开发时间”——Tom Cargill(这不就是中国谚语——“行百步半九十”)
“In order to understand recursion, one must first understand recursion.” – Author Unknown “要知道什么是‘递归’,你首先需要知道‘递归’”——无名氏
“I have always wished for my computer to be as easy to use as my telephone; my wish has come true because I can no longer figure out how to use my telephone.” – Bjarne Stroustrup “我总是希望电脑能和电话一样好用,现在我的这个愿望成真了,因为我已经不知道怎么使用我的电话了”– Bjarne Stroustrup
“There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.” -C.A.R. Hoare“我们有两个方法来进行软件设计:一个是让其足够的简单以至于让BUG无法藏身;另一个就是让其足够的复杂,让人找不到BUG。前者更难一些” — C.A.R. Hoare
“If builders built buildings the way programmers wrote programs, then the first woodpecker that came along would destroy civilization.” – Gerald Weinberg“如果建筑工人盖房子就像程序员写程序一样,那么只需要一只啄木鸟就可以摧毁人类文明”– Gerald Weinberg
“Nine people can’t make a baby in a month.” – Fred Brooks “九个人不能只用一个月就能生出孩子来”– Fred Brooks (这是对人月计算法的一个讽刺)
“Before software can be reusable it first has to be usable.” – Ralph Johnson“在软件可被重用前,它必需要可以被用”– Ralph Johnson
程序员之歌99 little bugs in the code,99 bugs in the code,fix one bug, compile it again,101 little bugs in the code.101 little bugs in the code….(Repeat until BUGS = 0)
Any fool can write code that a computer can understand. Good programmers write code that humans can understand. –Martin Fowler任何一个傻子都能写出让电脑能懂的代码,而只有好的程序员可以写出让人能看懂的代码 — Martin Fowler
Wirth’s law: Software gets slower faster than hardware gets faster. –Niklaus WirthWirth定律,软件把性能变慢的速度要快于硬件把性期变快的速度。– Niklaus Wirth
Better train people and risk they leave – than do nothing and risk they stay.–Anonymous就算是培训的员工会离开,这也好过他们什么也不做却不会离开。——无名氏
Good judgment comes from experience, and experience comes from bad judgment. –Frederick P. Brooks“好的判断来自于经验,而经验则来自于坏的判断”
UNIX is simple. It just takes a genius to understand its simplicity –Dennis RitchieUNIX 简单的,但只有天才才能知道他的简单 — Dennis Rithie
Unix was not designed to stop people from doing stupid things, because that would also stop them from doing clever things. –Doug GwynUnix 并不是设计成——阻止人们做那些愚蠢的事,因为那同样会阻止人们做聪明的事。——Doug Gwyn
在Stack Overflow上有这样的一个贴子《What’s your most controversial programming opinion?》,翻译成中文就是“你认为最有争议的编程观点是什么?”,不过,在400多个主回贴,以及千把个子回贴中,好像并不是很有争议,而是令人相当的茅塞顿开,下面罗列一些,并通过我自己的经历和理解发挥了一些,希望对你有帮助。
1) The only “best practice” you should be using all the time is “Use Your Brain”.
唯一的“Best Practice”并不是使用各种各样被前人总结过的各种设计方法、模式,框架,那些著名的方法、模式、框架只代码赞同他们的人多,并不代表他们适合你,你应该更多的去使用你的大脑,独立地思考那些方法、模式、框架出现的原因和其背后的想法和思想,那才是“best practice”。事实上来说,那些所谓的“Best Practice”只不过是限制那些糟糕的程序员们的破坏力。
2)Programmers who don’t code in their spare time for fun will never become as good as those that do.
如果你对编程没有感到一种快乐,没有在你空闲的时候去以一种的娱乐方式去生活,无论是编程,还是运动,还是去旅游,那么你只不过是在应付你的工作,无时无刻不扎在程序堆中,这样下来,就算是你是一个非常聪明,非常有才华的人,你也不会成为一个优秀的编程员,要么只会平平凡凡,要么只会整天扎在技术中成为书呆子。当然,这个观点是有争议,热情和能力的差距也是很大的。不过我们可以从中汲取其正面的观点。
3)Most comments in code are in fact a pernicious form of code duplication.
注释应该是注释Why,而不是How和What,参看《惹恼程序员的十件事》,代码告诉你How,而注释应该告诉你Why。但大多数的程序并不知道什么是好的注释,那些注释其实和code是重复的,毫无意义。
4)XML is highly overrated
XML可能被高估了。XML对于Web上的应用是不错的,但是我们把其用到了各种地方,好像没有XML,我们都不会编程了。
5)Not all programmers are created equal
这是那些junior经理或是流程爱犯的错,他们总是认为,DeveloperA == DeveloperB,只要他们的title一样,他们以为他们的能力、工作速度、解决问题的方法,掌握的技能等等都是一样的。呵呵。更扯的是,在某些时候,就算是最差的程序员,他们也会认为其比别人强十倍,这就是现代的SB管理。
6)”Googling it” is okay!
Google只会给你知识,并不会教给你技能。那里只有“鱼”,没有“渔”,过度的使用Google,只会让你越来越离不开他,你越来越去要去立马告诉你答案,而你越来越不会自己去思考,自己去探索,去专研。如果KFC快餐是垃圾食品对我们的身体没有好处,那么使用Google也一种快餐文化对我们的智力发展大大的没有好处。
7)If you only know one language, no matter how well you know it, you’re not a great programmer.
如果你只懂一种语言,准确的说,如果你只懂一类语类,如:Java和C#,PHP和Perl,那么,你将会被局限起来,只有了解了各种各样的语言,了解了不同语言的不同方法 ,你才会有比较,只有了比较,你才会明白各种语言的长处和短处,才会让你有更为成熟的观点,而且不整天和别的程序在网上斗嘴争论是Windows好还是Unix好,是C好还是C++好,有这点工夫能干好多事了。世界因为不同而精彩,只知道事物的一面是有害的。
8)Your job is to put yourself out of work.
你的工作不是保守,那种教会徒弟,饿死师父的想法,不但是相当短浅的,而且还是相当脑残的。因为,在计算机世界里,你掌握的老技术越多,你就越没用,因为技术更新的太快。你对工作越保守,这个工作就越来越离不开你,你就越不越不能抽身去学新的东西,你也就越来越OUT了。记住:If you can’t be replaced then you can’t be promoted!
9)Design patterns are hurting good design more than they’re helping it.
很多程序员把设计模式奉为天神,他们过度的追求设计模式以至都都忘了需求是什么,结果整个系统设计被设计模式搞得乱七八糟,我们叫这种编程为“设计模式驱动编程”,正如第一点所说,如果你不懂得用自己的大脑思考的话,知其然,不知所以然的话,那么你不但得不到其好处,反而受其所累。
10)Unit Testing won’t help you write good code
准确地说,我们可以认为这是Test-Driven开发,其实,这种开发就是先写unit test case,这样的开发方式的主要目的是,为了防止你不会因为一个改动而引入Bug,但这并不会让你能写出更好的代码。这只会让你写出不会出错的代码。同第一点,这样的方法,只不过是防止糟糕的程序员,而并不是让程序员或代码质量更有长进。反而,通过Unit Test会为程序员的为自己代码做辩解的一种托辞。
最后,顺便说一下,以前去那个敏捷的公司面试,发现那个公司的某些技术人员中毒不浅,具体表现在上述的1)9)10)观点上。
下面是Linux的创始人Linus Torvalds的一些言论,这是我个人认为最有意思的10句。如果你想看更多的Linus Torvalds说过的话,你可以看看他在维基百科上的词条:Linux Torvalds。我们在下面给出中英文对照,希望你能喜欢。
“Really, I’m not out to destroy Microsoft. That will just be a completely unintentional side effect ” (真的,我并不是想要干掉Microsoft,如果真是那样了,那完全是一个无意的副作用)——”The Way We Live Now: Questions for Linus Torvalds”, 接受《New York Times》的采访, 2003-09-28.
“Only wimps use tape backup: _real_ men just upload their important stuff on ftp, and let the rest of the world mirror it”(只有愚昧的人才会用磁带来做备份,真正聪明的人会上传他们最重要的东西到FTP服务器上,而剩下事情是,让世界各地的人来镜像这些东西)——(1996-07-20). 在linux.dev.kernel 新闻组上的一个贴子
“Software is like sex; it’s better when it’s free.” (软件就像是性一样,仅当是自由的时候才会更好)—— 1996 的FSF 大会, 相关视频。
“Is “I hope you all die a painful death” too strong?”(“我希望你们所有人在痛苦中死去”这句话是不是太强硬啦?)——这句话是,Linus是在拒绝某些硬件产商想在Linux的内核中植入特定的硬件处理程序,对那些硬件产商说的。
“Most days I wake up thinking I’m the luckiest bastard alive.”(很多天当我醒来的时候,我想到我是世界上最幸运的还活着的混蛋)—— Linus Torvalds 和David Diamond (2001). Just for Fun: The Story of an Accidental Revolutionary.
“An infinite number of monkeys typing into GNU emacs would never make a good program.” (即使是无穷多个猴子在GNU的emacs中输入东西,那也不会写出一段好的程序)—— 出自 Linux 1.3.53 编程风格
“Talk is cheap. Show me the code.”(能说算不上什么,有本事就把你的代码给我看看)—— 2000-08-25, 给linux-kernel 邮件列表的一封邮件
“I’m a bastard. I have absolutely no clue why people can ever think otherwise. Yet they do. People think I’m a nice guy, and the fact is that I’m a scheming, conniving bastard who doesn’t care for any hurt feelings or lost hours of work, if it just results in what I consider to be a better system. And I’m not just saying that. I’m really not a very nice person. I can say “I don’t care” with a straight face, and really mean it.” (我是一个混蛋。我完全不知道人们为什么会从另外一个角度来看我,但是他们确实是(那么做的)。人们认为我是个好人,但事实上我是个诡计多端的混蛋,只要最终能得到我所认为的更好的系统,那么我对任何感情的伤害或工作时间的损失都不在乎。我并不只是(在口头上)说说而已,我真的不是一个很好的人。我能面无表情地说“我不在乎”,而且我确实不在乎。)—— 2000-09-06,给 linux-kernel 邮件列表的邮件
“Those that can, do. Those that can’t, complain.”(那些能做的人就做,不能做的人就只会抱怨)——2003-09-23, 给Linux Kernel 邮件列表 (注意:Linus只是借用了一下这个句型,这个引言的原创在这里)
“You see. I don’t think any new thoughts. I think thoughts that other people have thought, and I rearrange them. But Sara, she thinks thoughts that never were before.”(您看,我没有任何新的想法。我的想法都是别人已经想过的,而我只是去重新组织一下别人的想法。但是莎拉不一样,她的想法是从来没有人想过的)—— 这是Linus给和他的母亲说起他的姐姐Sara。
维基百科上的“Linus Torvald 词条”上有很多他的语录,你不妨去看看,你喜欢哪些呢?