第二章:黑客與畫家
第二章:黑客與畫家
1.建築學和工程學之間的區別並不是很嚴格的,但就是存在區別。這表現在“做什麼”和怎麼做;建築師決定做什麼,工程師決定怎麼做;
2.人們對一個作家的評價,需要100年才能達成一致。你必須先等他的那些有影響力的朋友都死了,然後再等他的追隨者都死了,才能對他有個公正的評價。
3.你把整個程序想清楚的時間點,應該是在編寫程序的同時,而不是在編寫代碼之前,這與作家畫家和建築師的作法完全一樣。編程語言的首要特性應該是允許動態擴展。編程語言是用來幫助思考程序的,而不是用來表達你已經想好的程序。他應該是一支鉛筆,而不是一支鋼筆。
.
4.“換位思考”並不意味著你要做出自我犧牲。實際上,這是完全不同的兩回事。了解別人對於事物的看法,並不代表你為他的利益服務。某些情況下,比如打仗的時候,了解對手正是為了打擊對手。
5.判斷一個人是否具備“換位思考”的能力有一個好方法,那就是看他怎樣向沒有技術背景的人解釋技術問題。我們大概都認識這樣的一些人,他們在其他方麵非常聰明,但是把問題解釋清楚的能力卻驚人的低下。
6.程序寫出來是給人看的,附帶能在機器上運行。
最後更新:2017-04-02 17:51:26