跟大家分享一本書,是關於駭客與藝術。這本書在 2004 年出版,作者保羅.格瑞漢(Paul Graham)被稱為「駭客哲學家」,中文譯本則是 2006 年出版。
我時常想:台灣的農夫跟駭客有點一樣,都有解決問題的狂熱,若是再加上樂於開放資訊並且彼此連結,那麼我們會有怎麼樣的農村呢?
雖然距離出版時間已經過了十多年,但是,這本書依然值得您讀。主流書店應該都已經絕版,可以嘗試到二手書店找看看。你可以不會寫程式,但是,一定要會欣賞程式以及網路。
然而,如果你懶得買書或是讀完整本書,底下是寫好的書摘…
為什麼書呆子不受歡迎?
也許有很多人(包括我)認為寫程式很難,或是很無趣。但是我想每個人都會同意,若是今天寫的是自己想寫的程式,情形可會全然改觀,就像是打字是辛苦的,但是若是打自己給情人寫的情書,可就不是那麼一回事了。
當你所作的事情可以產生真正的影響,就不需要刻意討人喜歡。
現在的社會,青少年插不上手(成年人不需要青少年),這個問題的原因與現在許多疾病的原因一樣:專業化。工作變得專業,我們必須接受更久的訓練。
學校是一個奇怪的人為環境,一方面枯燥無趣,一方面又原始野蠻。它就像人生一樣函括一切,但卻不是真實的。它只是暫時的,而且只要你抬頭往外看,即使你人身在其中,也能夠自我超越。
駭客與畫家
駭客與畫家相同的地方,在於他們都是創作者。
美麗的事物不一定是最好的論文主題,第一、研究必須是原創的,確定自己正在研究新領域的唯一方法,就是找出沒有人要寫的那一塊。第二、研究必須豐富,不成熟的系統就等於大量論文的內容(越不成熟的領域,就有越多的論文出版)。
美麗的事物,唯一的外部測試就是時間。隨著時間的演進,美好的事物會興盛,醜陋的事物會被摒棄。不幸的是,這段時間的長度,可能比人的壽命還長。約翰生(Samuel Johnson,編寫第一部英文字典的英國人)說,對一個作家的評價得花上一百年的時間才會趨於一致。
(設計完美的程式)對於名聲,駭客必須隨緣才行。
自己誤解自己的工作,比別人誤解你的工作更糟糕。
程式語言是用來思考程式,而不是用來展現你已經想出來的程式。它應該是一枝鉛筆,而不是一枝鋼筆。
大學和研究所強迫駭客成為科學家,企業則是強迫駭客成為工程師,但是駭客和其他的創作者(畫家與作家)一樣,從事的是完全不相干的事。
如何成為駭客?大部分的駭客並不是藉由修習大學裡的程式課程而成為駭客,他們是因為在十三歲就開始寫自己的程式而學會。
駭客從原創開始,做到完美;而科學家從完美開始,回到原創。
一個好的程式語言應該像油畫一樣,使改變心意甚為便利。
這聽起來很弔詭,但是一幅偉大的繪畫,一定比它原本的設計更美好。… 同樣的,偉大的軟體也需要對美感的狂熱奉獻。如果仔細的檢視優秀的軟體,你會發現一些沒有人想了解的小地方都如此美麗。
駭客要和畫家一樣有同理心,才能創作偉大的作品。同理心不必然代表自我犧牲,這是完全不同的。
程式應該是為了讓人們閱讀而編寫,只是剛好能給機器執行而已。
不可說的禁忌
隱藏是流行的本質,不然它不會起作用。對某個被流行抓住的人而言,流行看來像是應該要做的正確事情。
當你是水時,你會如何看待波浪?永保懷疑,這是唯一的防護。
良好的壞習慣
為什麼駭客反對著作權和專利?如果你給駭客一個鎖,他第一個想到的念頭是如何打開它。更深的原因是︰他們看到越來越多的侵略性行為用於保護「智慧財產權」,這對他們工作需要的知識自由來說是一種威脅。而且,他們是對的。
如果駭客有國定假日,那一定是四月一日(這一天更應該定為農民節才對啊!)。
垃圾郵件大作戰
衛納(Norbert Wiener,1894-1964,美國數學家)說過,如果你與奴隸相比,你就成了奴隸。
設計品味
當你被逼著簡單時,也被逼著面對真正的問題。無法用裝飾品交差時,你必須交出真正的本質。
如果某個東西是醜陋的,一定不是最佳解決方案。
如果想要製作吸引未來世代的的東西,方式之一就是試著吸引過去的世代。
犯錯是很正常的事。與其把它視為災難,不如讓錯誤易於理解且易於修復。… 開放原始碼軟體的問題比較少,正式因為它承認錯誤的可能性。
試著做出好作品,自然而然的,你便會照著獨有的方式去做。
傑出作品的訣竅在於︰非常嚴厲的品味,加上滿足(實現)品味的能力。
百年語言
百年後的程式語言會長的如何?那個時候我們還在寫程式嗎?
與浪費機器的時間相比,浪費程式設計師的時間才是真正的缺乏效率。
夢幻的語言
簡潔︰這是駭客的喜好之一。與數學家和現代主意的建築師一樣,他們討厭任何無關緊要的東西。
駭入的能力︰對駭客而言,有項要點比簡潔更重要︰為所欲為。
給先驅者的建議︰重複說故事。只要一直說出自己的故事,最後大眾終將開始傾聽。人們注意到的時候,不是你出現的時候,而是他們發現你還在那裡的時候。
「最好的寫作是改寫」E. B. 懷特(Elwyn Brooks White,1899-1985,美國作家,《一家之鼠》原著)
設計與研究
客戶永遠是對的,這是指設計的優秀在於能為使用者服務。如果你寫的小說讓每個人打哈欠,或是設計出坐起來非常不舒服的椅子,都表示你的工作沒有作好,事實就是這麼簡單,就算小說或椅子都依照最先進的理論設計,也無法為你辯護。
重視使用者,是個衍生出多數優秀設計的原則,而且也是多數設計的中心原則。
畫家之間有句俗話︰繪畫沒有完成的一天,只有停止作畫的那天。
