一個(gè)好的程序員應(yīng)該是那種過單行線都要往兩邊看的人。 ——Doug Linder, 系統(tǒng)管理員 任何一個(gè)工具,它的一個(gè)最重要的、同時(shí)也是最難以做到的方面就是對那些學(xué)習(xí)使用這個(gè)工具的人在使用習(xí)慣上的影響。如果這個(gè)工具是一種編程語言,那么,這種影響——不管我們是否喜歡——將是一種思考習(xí)慣上的影響。 —— Edsger Dijkstra, 計(jì)算機(jī)科學(xué)家 抽象化是一種非常的不同于模糊化的東西 … 抽象的目的并不是為了模糊,而是為了創(chuàng)造出一種能讓我們做到百分百精確的新語義。 —— Edsger Dijkstra 除數(shù)學(xué)外,對本土語言的異常的精通會是一個(gè)計(jì)算機(jī)程序員的最寶貴的財(cái)富。 —— Edsger Dijkstra C語言很容易讓你犯錯誤;C++看起來好一些,但當(dāng)你用它時(shí),你會發(fā)現(xiàn)會死的更慘。 —— Bjarne Stroustrup,C++語言的創(chuàng)始人 評論:解決問題大多數(shù)都很容易;找到問題出在哪里卻很難。 —— 無名 看看目前我們的計(jì)算機(jī)編程上的這種糟糕的狀態(tài),軟件開發(fā)很顯然仍然處于一種黑色藝術(shù)狀態(tài),仍然毫無工程規(guī)范可言。 —— 比爾·克林頓,美國前總統(tǒng) 長久以來一個(gè)問題一直困擾著我,為什么有些東西如此昂貴,如此的高科技,卻毫無用處,就像我知道的,計(jì)算機(jī)雖然是臺笨機(jī)器,卻有能力做出難以置信的智能事情,而程序員雖然是一些聰明的人,但卻老是做難以置信的傻事情。他們呀,簡言之,是對絕配。 —— Bill Bryson, 作家, 出自《Notes from a Big Country》 給與足夠的眼球,所有的Bugs都很容易發(fā)現(xiàn)(例如,大量的beta測試,結(jié)對開發(fā),所有的問題都能很快的發(fā)現(xiàn)和修復(fù)) —— Eric S. Raymond, 程序員,開源軟件的倡導(dǎo)者, 出自《The Cathedral and the Bazaar》 高質(zhì)量的代碼就是對程序自己最好的注釋。當(dāng)你打算要添加注釋時(shí),問問自己,“我如何能改進(jìn)編碼以至于根本不需要添加注釋?”改進(jìn)你的代碼,然后才是用注釋使它更清楚。 —— Steve McConnell, 軟件工程師,作家, 出自 《Code Complete》 嘿,編譯通過了!裝包吧! —— 無名 任何優(yōu)秀的大軟件里面都是一個(gè)優(yōu)秀的小程序。 —— Charles Antony Richard Hoare, 計(jì)算機(jī)科學(xué)家 我們應(yīng)該注意到,沒有一個(gè)受過倫理教育的軟件工程師會同意開發(fā)出“摧毀巴格達(dá)”的程序。然而基本的職業(yè)道德卻可以要求他們開發(fā)出“摧毀城市”的程序,巴格達(dá)只是這個(gè)程序的一個(gè)參數(shù)。 —— Nathaniel S.Borenstein,計(jì)算機(jī)科學(xué)家 管理程序員就像是在放養(yǎng)一群貓。 —— 無名 用代碼行數(shù)來評估程序的開發(fā)進(jìn)度,就好比是拿重量來評估一個(gè)飛機(jī)的建造進(jìn)度。 —— 比爾·蓋茨,前微軟總裁 在一種編程語言中,即使有再多的好程序被詆毀指責(zé),也要比被說成完美無缺好 — 好的多。 —— Bjarne Stroustrup, 出自 《The Design and Evolution of C++》 程序應(yīng)該是寫給其他人讀的,讓機(jī)器來運(yùn)行它只是一個(gè)附帶功能。 —— Harold Abelson and Gerald Jay Sussman,計(jì)算機(jī)科學(xué)家和作者,出自《The Structure and Interpretation of Computer Programs》 真正的程序員從來不注釋他們的代碼。如果你做不到這樣,也就說明你不能使你的程序易于理解。 —— 無名 簡單是穩(wěn)定的前提。 —— Edsger Dijkstra C語言——這是一種既有匯編語言強(qiáng)大的功能,又有匯編語言的靈活性的編程語言。 —— 無名 最初90%的開發(fā)工作將會用去你最初90%的開發(fā)時(shí)間。剩下的10%的開發(fā)量將會用去你另外一個(gè)90%的開發(fā)時(shí)間。 —— Tom Cargill, 貝爾實(shí)驗(yàn)室的面向?qū)ο缶幊虒<?/div> 對于增加一個(gè)功能點(diǎn)所付出的代價(jià),你要明白的很重要的一點(diǎn)就是,它不僅僅指開發(fā)這個(gè)功能所消耗的時(shí)間。它同時(shí)還包括帶來的額外的給以后擴(kuò)展造成的困難。不錯,任何的功能特性都是能實(shí)現(xiàn)的——只要有足夠的時(shí)間。除了這些將來會出現(xiàn)的問題外,你最終還會使你的程序變得脆弱,最終連一個(gè)絕對簡單的功能都越來越難以和現(xiàn)有的混亂的web結(jié)合起來。應(yīng)對此問題的辦法是你應(yīng)只接受那些不會導(dǎo)致沖突的功能。 —— John Carmack, 計(jì)算機(jī)游戲開發(fā) 性能的關(guān)鍵是精簡,而不是一堆的優(yōu)化用例。除非有真正顯著的效果,否則一定要忍住你那些蠢蠢欲動的小微調(diào)的企圖。 —— Jon Bently 和 M. Douglas McIlroy, 同為貝爾實(shí)驗(yàn)室的科學(xué)家 用C寫的最后的一個(gè)好東西就是舒伯特的第九交響樂。 —— Erwin Dieterich, 程序員 使用C++的問題就在于 … 這種語言有一種很大的脾氣,在你想做任何事情之前你必須把所有的知識都掌握才行。 —— Larry Wall, Perl語言的開發(fā)者 開發(fā)的越早,程序花費(fèi)你的時(shí)間越長。 —— Roy Carlson, 威斯康星州大學(xué) 原型的價(jià)值就在于它對你的教育,而不是代碼本身。 —— Alan Cooper, 軟件作者, 出自《The Inmates are Running the Asylum》 世上只有兩種編程語言:一種是總是被人罵的,一種是從來沒人用的。 —— Bjarne Stroustrup 世上有兩種設(shè)計(jì)軟件的方法。一種是盡量的簡化,以至于明顯沒有任何缺陷。而另一種是盡量復(fù)雜化,以至于找不到明顯的缺陷。 —— Charles Antony Richard Hoare 丑陋的程序和丑陋的吊橋一樣:他們都容易坍塌,因?yàn)槿祟悾ㄓ绕涫枪こ處焸儯┑膶徝蓝x跟人們對復(fù)雜事物的處理和理解密切相關(guān)。一種編程語言如果不能使你寫出優(yōu)美的代碼,那它也就不能使你寫出好的程序。 —— Eric S.Raymond 數(shù)周的編程能省掉你幾個(gè)小時(shí)的計(jì)劃時(shí)間。 —— 無名 當(dāng)一種能夠讓程序員通過簡單的英語來編程的編程語言誕生后,你會發(fā)現(xiàn)程序員們都不會說英語。 —— 無名 |