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