【程式設計語錄】59條令人捧腹但真實的程式設計師程式設計語錄
這些語錄和軟體開發維護、除錯、軟體bug、軟體設計和文件、程式碼質量、測試和管理等相關。下面這59條程式設計語錄雖然令人捧腹但也揭示了真相。只有真正的軟體開發人員才能理解這些程式設計語錄的價值。下面,開始吧……
軟體開發人員和程式設計師語錄
1.A good programmer is someone who always looks both ways before crossing a one-way street. (Doug Linder)
好的程式設計師即使在過單行道時也總是會環顧兩邊。
2.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.The trouble with programmers is that you can never tell what a programmer is doing until it’s too late. (Seymour Cray)
程式設計師的煩惱是,你永遠無法知道一個程式設計師在做什麼,直到為時已晚。
4.Most of you are familiar with the virtues of a programmer. There are three, of course: laziness, impatience, and hubris. (Larry Wall)
程式設計師的美德:懶惰,沒有耐心以及老子天下第一。
5.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.One man’s crappy software is another man’s full time job. (Jessica Gaston)
一個人寫的爛軟體將會給另一個人帶來一份全職工作。
7.If builders built buildings the way programmers wrote programs, then the first woodpecker that came along wound destroy civilization. (Gerald Weinberg)
如果建築工人用程式設計師寫程式的方式建造建築物,那麼來的第一隻啄木鳥(找bug)就將摧毀文明。
8.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.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.Once a new technology starts rolling, if you’re not part of the steamroller, you’re part of the road. (Stewart Brand)
一旦一種新技術開始滾動碾壓道路,如果你不能成為壓路機的一部分,那麼你就只能成為道路的一部分。
11. If at first you don’t succeed, call it version 1.0 (unknown)
如果第一次你沒有成功,那麼稱之為1.0版,繼續加油。
12.All programmers are playwrights and all computers are lousy actors. (Anonymous Hack Actor)
所有的程式設計師都劇作家,而所有計算機都是糟糕的演員。
13.The sooner you get behind in your work, the more time you have to catch up. (Anonymous Scheduler)
工作拉下得越早,趕上去所需要的時間越多。
14.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.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)
自己的程式碼六個月或更久不見,還不如別人寫的程式碼。
程式設計/軟體開發語錄
1.Measuring programming progress by lines of code is like measuring aircraft building progress by weight. (Bill Gates)
通過程式碼行數衡量開發程序就好比用重量來衡量飛機制造進度。
2. Programming is like sex. One mistake and you have to support it for the rest of your life. (Michael Sinz)
程式設計就像性愛一樣。一個錯誤就能綁住你的餘生。
3.Walking on water and developing software from a specification are easy if both are frozen. (Edward V Berard)
在目的明確的基礎上開發軟體就像在結冰的水上行走一樣簡單。
4.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)
開始90%的程式碼佔開始90%的開發時間……剩下10%的程式碼還是佔90%的開發時間。
5.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)
註釋程式碼就像是清潔浴室——儘管你滿心不情願,但它確實可以為你和你的客人創造一種更舒適的體驗。
6.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)
當今的程式設計是軟體工程師——努力建設更大多更好的傻瓜式程式,和上帝——試圖產出更大多更好的傻瓜之間的競爭。到目前為止,世上帝是獲勝者。
7.The hardest part of design … is keeping features out. (Donald Norman)
設計中最難的部分……是阻止功能。
8. In order to understand recursion, one must first understand recursion. (Anonymous)
要想了解遞迴,首先必須理解遞迴。
9.There are only two kinds of programming languages: those people always bitch about and those nobody uses. (Bjarne Stroustrup)
只有兩種程式語言:一種是天天捱罵的,另一種是沒人用的。
10.The best thing about a boolean is even if you are wrong, you are only off by a bit. (Anonymous)
關於布林值最妙的一點是,就算你錯了,你也只是錯了這一處而已。
11.If Java had true garbage collection, most programs would delete themselves upon execution. (Robert Swell)
如果Java真的有垃圾收集,那麼大多數程式會執行自我刪除。
12.In theory, there is no difference between theory and practice. But, in practice, there is. (Jan L. A. van de Snepscheut)
理論上看,理論和實踐之間是沒有差別的。但是,在實踐中,有。
13.Ready, fire, aim: the fast approach to software development. Ready, aim, aim, aim, aim: the slow approach to software development. (Anonymous)
準備,開火,瞄準:快速的軟體開發方法。準備,瞄準,瞄準,瞄準,瞄準:緩慢的軟體開發方法。
14.Programming is 10% science, 20% ingenuity, and 70% getting the ingenuity to work with the science. (Anonymous)
程式設計就是10%的科學,20%得的獨創性,再加70%和這門科學的靈巧合作。
15. It is easier to measure something than to understand what you have measured. (Anonymous)
衡量比理解你衡量了什麼容易。
16.Benchmarks don’t lie, but liars do benchmarks. (Anonymous)
基準不會撒謊,但制定基準的人會撒謊。
17.Better train people and risk they leave – than do nothing and risk they stay. (Anonymous)
就算是培訓好的員工離開——也好過他們什麼也不做卻留下來。
18.The goal of Computer Science is to build something that will last at least until we’ve finished building it. (Anonymous)
電腦科學的目標是構建一個至少能持續到我們構建完成的東西。
19.Java is to JavaScript what Car is to Carpet. (Chris Heilmann)
Java之於JavaScript就像car之於carpet(地毯)。後者看上去像是前者的衍生物,實則是完全不同的兩個東西。
20.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)
第一次是否正確完成一點也不重要。最後一次正確完成才至關重要。
21.Should array indices start at 0 or 1? My compromise of 0.5 was rejected without, I thought, proper consideration. (Stan Kelly-Bootle)
陣列的下標一定要從0或1開始嗎?我認為,我採取的中間值0.5沒有經過適當考慮就被駁回了。
22.Programs must be written for people to read, and only incidentally for machines to execute. (Abelson / Sussman)
程式必須寫得能供人閱讀,機器執行只是附帶。
23.Programming can be fun, so can cryptography; however they should not be combined. (Kreitzberg and Shneiderman)
程式設計可以很有趣,密碼學也是如此;但是兩者不應該攪和在一起。
24. Copy and paste is a design error. (David Parnas)
複製貼上是一個設計錯誤。
25.Computers are good at following instructions, but not at reading your mind. (Donald Knuth)
計算機善於遵循指令,不善於讀取你的想法。
軟體除錯語錄
1.Deleted code is debugged code. (Jeff Sickel)
刪除的程式碼是經過除錯的程式碼。
2.If debugging is the process of removing software bugs, then programming must be the process of putting them in. (Edsger Dijkstra)
如果除錯是消除軟體bug的過程,那麼程式設計就是產出bug的過程。
3.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.
除錯一段程式的難度是寫出這段程式的難度的兩倍,因此,如果你的程式碼儘可能清楚的話,那麼你就不用費力地除錯它。
4. 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的時候,bug已經很難找了;更不要說當你認為自己的程式碼中沒有錯誤的時候。
軟體bug語錄
1.It’s not a bug – it’s an undocumented feature. (Anonymous)
這不是bug——這是沒有被證明的功能。
2.Without requirements or design, programming is the art of adding bugs to an empty text file. (Louis Srygley)
如果沒有需求和設計,那麼程式設計就是新增bug到空的文字檔案的藝術。
3.Bad code isn’t bad, its just misunderstood. (Anonymous Code Behaviorist)
所謂壞的程式碼並不壞,它只是被誤解了。
4.There are two ways to write error-free programs; only the third one works. (Alan J. Perlis)
寫沒有錯誤的程式有兩種方式;但第三種才有效。
5.Beware of bugs in the above code; I have only proved it correct, not tried it. (Donald Knuth)
小心上面程式碼中的bug;我只證明了它是正確的,還沒有嘗試過。
軟體/終端產品語錄
1.Before software can be reusable it first has to be usable. (Ralph Johnson)
在軟體可以被可重複使用前,它首先必須是可用的。
2.Software undergoes beta testing shortly before it’s released. Beta is Latin for “still doesn’t work”. (Anonymous)
軟體在釋出前要經過beta測試。beta即拉丁語“仍然無法正常工作”的意思。
3.The best performance improvement is the transition from the nonworking state to the working state. (J. Osterhout)
最佳效能改進是指從不可工作狀態向工作狀態的轉變。
4.The cheapest, fastest, and most reliable components are those that aren’t there. (Gordon Bell)
最便宜,最快和最可靠的元件是不存在的。
5. I think Microsoft named .Net so it wouldn’t show up in a Unix directory listing. (Oktal)
我認為微軟命名.Net,它就不會在Unix目錄列表顯示出來。
6.Software and cathedrals are much the same – first we build them, then we pray. (Sam Redwine)
軟體和教堂非常相似——首先,我們建造它們,然後我們祈禱。
7.The software isn’t finished until the last user is dead. (Anonymous)
直到最後一個使用者死去,軟體才算完成。
8.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)
現在的大多數軟體非常像埃及金字塔,在彼此之間堆建了成千上萬的磚塊,缺乏結構完整性,只是靠蠻力和成千上萬的奴隸完成。