天天看點

《黑客與畫家》閱讀筆記

在很多人的印象中,黑客是一群非常神秘的、程式設計技術非常高超的人,他們可以随心所欲地操縱計算機、盜取别人電腦上面的資料。而畫家無非是一群以畫畫為生或對畫畫有着很濃厚的興趣的人。那麼,黑客與畫家有什麼關聯呢?這兩者是否能夠相提并論呢?《黑客與畫家》一書為我們帶來了答案。

該書的作者是被譽為“矽谷創業之父”的Paul Graham,他與朋友在1995年開發了世界上第一個網際網路應用軟體Viaweb,并于1998年以4900萬美元的價格賣給了Yahoo!。他将自己的思考寫成一系列文章,于2004年結集為《黑客與畫家》一書出版。

本書一共有15章,内容涉及程式設計、軟體、創業、财富、設計、研究等。全書觀點新奇而犀利,文筆流暢,邏輯清晰,可供IT及相關行業的從業人員和愛好者細細閱讀。

閱讀完全書之後,作者的以下幾個觀點給我留下了深刻的印象:

第一,程式寫出來是給人看的,附帶能在機器上運作。

第二,正确的合作方法是将項目分割成嚴格定義的子產品,每一個子產品由一個人明确負責。

在一般的研發項目(包括本人所在的項目)中,都是按照這種方法來配置設定任務的。先将一個大的系統分成很多個小的子系統(子系統也許還會再分成更小的子系統),再将子系統分割成功能較為獨立的子產品,将每個子產品分發給不同的開發人員來完成。在遇到問題的時候,直接找對應子產品的開發人員就可以了。這種方法可以確定每一個子產品都有人負責,且大家的任務不會重疊,同時也有利于子產品的內建。

第三,大多數優秀的設計關注使用者,并且以使用者為中心。

在網際網路時代(甚至是移動網際網路時代),大部分的軟體産品都是因使用者的需求而生,都是以使用者為中心進行設計和開發的。使用者有上網購物的欲望,于是淘寶和京東便起來了;使用者有随時随地聊天的必要,于是微信和陌陌便産生了;使用者有偶爾表現自己的想法,于是微網誌也崛起了。在未來,隻有關注使用者,為使用者解決實際問題的産品才會具有生命力。

《黑客與畫家》一書字字珠玑,處處閃爍着智慧的光芒。如果你關注IT行業、關注未來、關注創業、關注财富,那麼你一定能夠從這本書中受益。

附:《黑客與畫家》經典語句

第1章 為什麼書呆子不受歡迎

1.“書呆子”的目标具有兩重性。他們毫無疑問想讓自己受歡迎,但是他們更願意讓自己聰明。

2.真實世界的特點是,它極其龐大。如果總體足夠大,即使是人數最少的少數派,隻要聚集在一起,也能産生可觀的力量。

3.幾乎在任何團體中都存在等級關系。

第2章 黑客與畫家

1.黑客的最高境界是創造規格。

2.容易實施的考核總是首先被采用。

3.程式設計語言是用來幫助思考程式的,而不是用來表達你已經想好的程式。

4.應該定期地從頭開始,而不要長年累月地在一個項目上不斷工作,并且試圖把所有的最新想法都以修訂版的形式包括進去。

5.不要太早決定一個程式應該怎麼做。

6.堅持一絲不苟,就能取得優秀的成果。

7.正确的合作方法是将項目分割成嚴格定義的子產品,每一個子產品由一個人明确負責。

8.從他人的角度思考問題正是成功的奧秘所在。

9.程式寫出來是給人看的,附帶能在機器上運作。

第3章 不能說的話

1.一個好的科學家,并不僅僅是避開傳統觀點,還要努力打破傳統觀點。

2.自由思考比暢所欲言更重要。

第4章 良好的壞習慣

1.很自負的人必須培養出敏銳的感覺,及時發現周圍情勢的變化,知道怎樣才能脫身。

第5章 另一條路

1.如果網際網路軟體能夠擊敗桌面軟體,一定是赢在更友善這一優勢上。

2.網際網路軟體帶來的最大變化之一,就是軟體釋出方式的改變。

3.實作某個構思,會帶來更多的構思。

4.管理企業做到兩點:做出使用者喜歡的産品,保證開支小于收入。

第6章 如何創造财富

1.創造有價值的東西就是創造财富。

2.公司一切行為的目的都是盈利,進而生存下去。

3.要緻富,需要兩樣東西:可測量性和可放大性。

4.創造人們需要的東西,也就是創造财富。

5.隻要懂得藏富于民,國家就會變得強大。

第7章 關注貧富分化

1.财富與金錢是兩個概念。

2.一旦通過創造财富而使緻富成為可能,社會從整體上就會快速地變得更富有。

3.技術無法使其變得更便宜的唯一東西,就是品牌。

第8章 防止垃圾郵件的一種方法

1.在所有對抗垃圾郵件的方法之中,我認為單獨來看,“貝葉斯過濾”是最有效的工具。

第9章 設計者的品味

1.好設計是簡單的設計。

2.好設計是永不過時的設計。

3.好設計是解決主要問題的設計。

4.好設計是啟發性的設計。

5.好設計通常是有點趣味性的設計。

6.好設計是艱苦的設計。

7.好設計是看似容易的設計。

8.好設計是對稱的設計。

9.好設計是模仿大自然的設計。

10.好設計是一種再設計。

11.好設計是能夠複制的設計。

12.好設計常常是奇特的設計。

13.好設計是成批出現的。

14.好設計常常是大膽的設計。

第10章 程式設計語言解析

1.編譯器處理的進階語言代碼又叫做源碼,它經過翻譯以後産生的機器碼就叫做目标碼。

第11章 一百年後的程式設計語言

1.一種語言的核心設計得越小、越幹淨,它的生命力就越頑強。

2.新語言更多地以開源項目的形式出現。

第12章 拒絕平庸

1.程式設計語言的特點之一就是它會使得大多數使用它的人滿足于現狀,不想改用其它語言。

第13章 書呆子的複仇

1.語言的程式設計能力越強大,寫出來的程式就越短。

2.代碼的數量很重要,因為開發一個程式所耗費的時間主要取決于程式的長度。

第14章 夢寐以求的程式設計語言

1.簡潔性最重要的方面就是要使得語言更抽象。

2.開發大型程式的一個方法就是從一次性程式開始,然後不斷地改進。

3.任何措施,隻要能讓“再設計”周而複始地進行下去,就都是可取的。

第15章 設計與研究

1.大多數優秀的設計關注使用者,并且以使用者為中心。

2.士氣是設計的關鍵因素。

《黑客與畫家》閱讀筆記

繼續閱讀