(中文字幕)
軟體開發、教堂、做愛相同之處在哪裡?請看:
59 Hilarious (滑稽歡鬧的) but True Programming Quotes for Software Developers。
工程師Naresh Kumar 的在部落格1整理了 59 則關於軟體工程師搞笑寫實語錄。最有趣的是:
「意外」,是專家們公認這個世界最有可能毀滅的方式。而這就是我們可以存在的理由;我們是電腦專家,我們創造意外。(Nathaniel Borenstein)
The most likely way for the world to be destroyed, most experts agree, is by accident. That’s where we come in; we’re computer professionals. We cause accidents. (Nathaniel Borenstein)
軟體開發像做愛;一次犯錯,要用一生來彌補。(Michael Sinz)
Programming is like sex. One mistake and you have to support it for the rest of your life. (Michael Sinz)
bug這不是 bug,bug只是個未定義的功能。(佚名)
It’s not a bug – it’s an undocumented feature. (Anonymous)
軟體和教堂一樣的地方是:都是先努力完工,然後只能禱告。
Software and cathedrals are much the same – first we build them, then we pray. (Sam Redwine)
當代程式設計是一場與上帝的競賽,程式設計師努力要開發出更大更好連傻瓜都會用的軟體。而上帝在努力創造更大更傻的傻瓜。目前為止,還是上帝贏的。(Rick Cook)
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. (Rick Cook)
其他如下,不同顏色標出好笑的。哈哈哈。
軟體工程師程語錄
1. 好的工程師是那種連過單行道的馬路都要左顧右盼的人。(Doug Linder)
A good programmer is someone who always looks both ways before crossing a one-way street. (Doug Linder)
2. 不要擔心程式不正常,如果所有東西都正常,那你就失業了。(軟體工程的 Mosher 定律)
Don’t worry if it doesn't work right. If everything did, you’d be out of a job. (Mosher’s Law of Software Engineering)
3. 程式設計師的麻煩在於:你無法弄懂他們在折騰什麼。當你最終弄明白時,卻已經太遲了。(超級電腦之父 Seymour Cray)
The trouble with programmers is that you can never tell what a programmer is doing until it’s too late. (Seymour Cray)
4. 大部分人都熟知程式設計師所具備的美德。就是那三種:懶惰、暴躁、傲慢。(Perl 語言發明者 Larry Wall)
Most of you are familiar with the virtues of a programmer. There are three, of course: laziness, impatience, and hubris. (Larry Wall)
5. 寫程式時要保持這種心態:就好像將來要維護你這些程式的人是一位殘暴的精神病患者,而且他知道你住在哪。(Martin Golding)
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. (Martin Golding)
6. 一個人寫的爛軟體將會給另一個人帶來一份全職工作。(Jessica Gaston)
One man’s crappy software is another man’s full time job. (Jessica Gaston)
7. 如果建築工人像工程師寫軟體那樣蓋房子,那第一隻飛來的啄木鳥就能毀掉人類文明。(Gerald Weinberg)
If builders built buildings the way programmers wrote programs, then the first woodpecker that came along wound destroy civilization. (Gerald Weinberg)
8. 「意外」,是專家們公認這個世界最有可能毀滅的方式。而這就是我們可以存在的理由;我們是電腦專家,我們創造意外。(Nathaniel Borenstein)
The most likely way for the world to be destroyed, most experts agree, is by accident. That’s where we come in; we’re computer professionals. We cause accidents. (Nathaniel Borenstein)
9. 我們這個產業有個特別奇怪的現象:我們不但不會從失敗裡吸取教訓,也不會從成功中學習經驗。(Keith Braithwaite)
It’s a curious thing about our industry: not only do we not learn from our mistakes, we also don’t learn from our successes. (Keith Braithwaite)
10. 一種新技術一旦開始流行,你要嘛坐上壓路機,要嘛成為鋪路石。(Stewart Brand)
Once a new technology starts rolling, if you’re not part of the steamroller, you’re part of the road. (Stewart Brand)
11. 如果沒能一次成功,那就叫它 1.0 版吧。(不可考)
If at first you don’t succeed, call it version 1.0 (unknown)
12. 所有的程式設計師都是編劇,所有的電腦都是爛演員。(Anonymous Hack Actor)
All programmers are playwrights and all computers are lousy actors. (Anonymous Hack Actor)
13. 工作進度越早落後,就越有足夠的時間來趕上。(Anonymous Scheduler)
The sooner you get behind in your work, the more time you have to catch up. (Anonymous Scheduler)
14. 如有一種程式語言能讓程式設計師用簡單的英語來寫程式,你會發現程式設計師都不會說英語。(Anonymous Linguist)
When a programming language is created that allows programmers to program in simple English, it will be discovered that programmers cannot speak English. (Anonymous Linguist)
15. 為什麼我們沒有時間把事情做對,卻總有時間把事情做過頭?(佚名)
Why do we never have time to do it right, but always have time to do it over? (Anonymous)
16. 傻瓜都能寫出電腦能理解的程式。優秀的程式設計師寫出的是人類能讀懂的程式。
Any fool can write code that a computer can understand. Good programmers write code that humans can understand.
17. 任何你寫的程式,超過 6 個月不去看它,當你再度開啓時,看起來都像是別人寫的。(Eagleson's law)
Any code of your own that you haven't looked at for six or more months might as well have been written by someone else. (Eagleson's law)
程式/軟體開發語錄
18. 按程式行數來評估軟體開發的進度,就如同按重量來評估飛機建造的進度。(Bill Gates)
Measuring programming progress by lines of code is like measuring aircraft building progress by weight. (Bill Gates)
19. 軟體開發像做愛。一次犯錯,要用一生來彌補。(Michael Sinz)
Programming is like sex. One mistake and you have to support it for the rest of your life. (Michael Sinz)
20. 在水上行走和按照特定需求開發開發軟體都很容易——前提是它們都是凍結狀態。(Edward V Berard)
Walking on water and developing software from a specification are easy if both are frozen. (Edward V Berard)
21. 最初 90% 的程式消耗了最初 90% 的開發時間…最後 10% 的程式用去了另外 90% 的開發時間。(Tom Cargill)
The first 90 percent of the code accounts for the first 90 percent of the development time…The remaining 10 percent of the code accounts for the other 90 percent of the development time.(Tom Cargill)
22. 註釋程式很像清掃廁所——你不想幹,但如果你做了,這絕對會給你和你的客人帶來更愉悅的體驗。(Ryan Campbell)
Commenting your code is like cleaning your bathroom — you never want to do it, but it really does create a more pleasant experience for you and your guests. (Ryan Campbell)
23. 當代程式設計是一場與上帝的競賽,程式設計師努力要開發出更大更好連傻瓜都會用的軟體。而上帝在努力創造更大更傻的傻瓜。目前為止,上帝是贏的。(Rick Cook)
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. (Rick Cook)
24. 軟體設計最困難的部分⋯⋯是阻擋新功能的引入。(Donald Norman)
The hardest part of design … is keeping features out. (Donald Norman)
25. 為了理解遞迴(recursion),我們首先要理解的是遞迴。(佚名)
In order to understand recursion, one must first understand recursion. (Anonymous)
26. 世上只有兩類程式語言:那些被人批得一無是處的,以及那些沒人使用的。(Bjarne Stroustrup)
There are only two kinds of programming languages: those people always bitch about and those nobody uses. (Bjarne Stroustrup)
27. 關於布林值最棒的一點是,即使你搞錯了,也只差一個位元(a bit,此為雙關語,英文「一點點」之意,也是電腦術語「位元」的意思)。(Anonymous)
The best thing about a boolean is even if you are wrong, you are only off by a bit.
28. 如果 Java 真的能夠記憶體回收,那大部分的程式都會在執行時自己刪除自己。(Robert Swell)
If Java had true garbage collection, most programs would delete themselves upon execution. (Robert Swell)
29. 理論上,理論和實作並沒有差異的。但實際上,是有的。(Jan LA van de Snepscheut)
In theory, there is no difference between theory and practice. But, in practice, there is. (Jan L. A. van de Snepscheut)
30. 預備,開火,瞄準:這是最快的軟體開發方法。預備,瞄準,瞄準,瞄準,瞄準:這是最慢的軟體開發方法。(佚名)
Ready, fire, aim: the fast approach to software development. Ready, aim, aim, aim, aim: the slow approach to software development. (Anonymous)
31. 寫程式是 10% 的科學、20%天份,加上 70% 的讓天份符合科學。(佚名)
Programming is 10% science, 20% ingenuity, and 70% getting the ingenuity to work with the science. (Anonymous)
32. 評估一件事情要比去理解你評估了什麼容易。(佚名)
It is easier to measure something than to understand what you have measured. (Anonymous)
33. 效標程式(benchmark)不會撒謊,但制定效標程式的人會。(佚名)
Benchmarks don’t lie, but liars do benchmarks. (Anonymous)
34. 雖然栽培員工,要承擔負著他們跳槽的風險。也比,什麼都不做而留他們在公司還保險。(佚名)
Better train people and risk they leave – than do nothing and risk they stay. (Anonymous)
35. 電腦科學的目標是做出一個東西,並且保證它至少能堅持到我們將它開發完成。(佚名)
The goal of Computer Science is to build something that will last at least until we've finished building it. (Anonymous)
36. Java 之於 JavaScript 的關係就如同狗和熱狗。(英文是 Car 與 Carpet)。(Chris Heilmann)
Java is to JavaScript what Car is to Carpet. (Chris Heilmann)
37. 沒必要一開始就把事情做對。但最後要把事情做對是絕對必要的。(Andrew Hunt and David Thomas)
It's not at all important to get it right the first time. It's vitally important to get it right the last time. (Andrew Hunt and David Thomas)
38. 陣列(array)的起始索引(indices)應該從 0 開始還是從 1 開始?我折中的提議是0.5 ,被拒絕了,而我認為,這是他們沒有考慮周詳。(Stan Kelly-Bootle)
Should array indices start at 0 or 1? My compromise of 0.5 was rejected without, I thought, proper consideration. (Stan Kelly-Bootle)
39. 程式必須是為了給人看而寫,命令機器執行只是附帶任務。(Abelson / Sussman)
Programs must be written for people to read, and only incidentally for machines to execute. (Abelson / Sussman)
40. 寫程式可以很有趣,密碼學也是,但兩者絕對不能合而為一。(Kreitzberg and Shneiderman)
Programming can be fun, so can cryptography; however they should not be combined. (Kreitzberg and Shneiderman)
41. 複製 -- 貼上是一種設計錯誤。(David Parnas)
Copy and paste is a design error. (David Parnas)
42. 電腦善於遵循指令,但不善於理解你的思維。(Donald Knuth)
Computers are good at following instructions, but not at reading your mind. (Donald Knuth)
軟體除錯語錄
43. 被刪除的程式就是被除錯的程式。(Jeff Sickel)
Deleted code is debugged code. (Jeff Sickel)
44. 如果除錯是消除軟體 bug 的過程,那麼寫程式就是把bug放進去的過程。(Edsger Dijkstra)
If debugging is the process of removing software bugs, then programming must be the process of putting them in. (Edsger Dijkstra)
45. 程式除錯要比新編寫程式困難一倍。因為,假設你已經盡可能地完成了最聰明的程式了;那麼照說,你是不夠智慧足以進行除錯的。
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.
46. 想在自己的程式裡找出一個錯誤是十分困難的。而當你認為你的程式沒有錯誤時,那就更難了。(Steve McConnel)
It's hard enough to find an error in your code when you're looking for it; it's even harder when you've assumed your code is error-free. (Steve McConnel)
軟體 bug 語錄
47. bug這不是 bug,bug只是個未定義的功能。(佚名)
It’s not a bug – it’s an undocumented feature. (Anonymous)
48. 沒有需求或設計,寫程式就是一種將 bug 添加到一個空白文件裡的藝術。(Louis Srygley)
Without requirements or design, programming is the art of adding bugs to an empty text file. (Louis Srygley)
49. 爛程式並不爛,只是被誤解了。(Anonymous Code Behaviorist)
Bad code isn’t bad, its just misunderstood. (Anonymous Code Behaviorist)
50. 有兩種方法能寫出沒有錯誤的程式;但只有第三種好用。(Alan J. Perlis)
There are two ways to write error-free programs; only the third one works. (Alan J. Perlis)
51. 自己小心程式中的 bug;我只負責提供正確的程式,不負責作測試。(Donald Knuth)
Beware of bugs in the above code; I have only proved it correct, not tried it. (Donald Knuth)
軟體產品/成品語錄
52. 軟體在能重覆使用前,必須要先能用。(Ralph Johnson)
Before software can be reusable it first has to be usable. (Ralph Johnson)
53. 軟體通常在 beta 測試完成不久後發表。Beta 在拉丁語中是「還不能用」的意思。(Anonymous)
Software undergoes beta testing shortly before it’s released. Beta is Latin for “still doesn't work". (Anonymous)
54. 最好的效能提升是將軟體從不能用的狀態變成可用。(J. Osterhout)
The best performance improvement is the transition from the nonworking state to the working state. (J. Osterhout)
55. 最便宜、最快速、最值得信賴的組件是那些還未出現的組件。(Gordon Bell)
The cheapest, fastest, and most reliable components are those that aren't there. (Gordon Bell)
56. 我認為微軟之所以把「.Net」命名為「.Net」,是因為如此一來,它就不會出現在 Unix 的目錄裡。 (Oktal)
I think Microsoft named .Net so it wouldn’t show up in a Unix directory listing. (Oktal)
57. 軟體和教堂一樣的地方是:都是先努力完工,然後只能禱告。(Sam Redwine)
Software and cathedrals are much the same – first we build them, then we pray. (Sam Redwine)
58. 除非最後一個使用者死掉,軟體是不會有完工的時候的。(佚名)
The software isn’t finished until the last user is dead. (Anonymous)
59. 如今的大部分軟體都非常像埃及金字塔,由成千上萬的石塊一塊一塊構成,沒有結構上的整合,而是由暴力強制和成千上萬的奴隸完成。(Alan Kay)
Most software today is very much like an Egyptian pyramid with millions of bricks piled on top of each other, with no structural integrity, but just done by brute force and thousands of slaves. (Alan Kay)
【出處】http://www.inside.com.tw/2013/12/20/59-hilarious-but-true-programming-quotes-for-software-developers ,加上修正了部分的譯文。
59 Hilarious but True Programming Quotes for Software Developers