黑客與畫家

黑客與畫家

《黑客與畫家 》是2011年4月人民郵電出版社出版發行的圖書,作者是Paul Graham。本書適合所有程序員和網際網路創業者,也適合一切對計算機行業感興趣的讀者。

圖書簡介


《黑客與畫家:矽谷創業之父paul graham文集》是矽谷創業之父paul graham 的文集,主要介紹黑客即優秀程序員的愛好和動機,討論黑客成長、黑客對世界的貢獻以及編程語言和黑客工作方法等所有對計算機時代感興趣的人的一些話題。書中的內容不但有助於了解計算機編程的本質、網際網路行業的規則,還會幫助讀者了解我們這個時代,迫使讀者獨立思考。

內容簡介


《黑客與畫家:矽谷創業之父paul graham文集》適合所有程序員和網際網路創業者,也適合一切對計算機行業感興趣的讀者。

作者簡介


保羅·格雷厄姆,《黑客與畫家》一書的作者,矽谷創業之父。1964年,出生於匹茲堡郊區的一個中產階級家庭。父親是設計核反應堆的物理學家,母親在家照看他和他的妹妹。青少年時代,格雷厄姆就開始編程。但是,他還喜歡許多與計算機無關的東西,這在編程高手之中是很少見的。
保羅·格雷厄姆在康奈爾大學讀完本科,然後在哈佛大學獲得計算機科學博士學位。1995年,他創辦了Viaweb,幫助個人用戶在網上開店,這是世界上第一個網際網路應用程序。1998年夏天,Yahoo!公司收購了Viaweb,收購價約為5000萬美元。
此後,他架起了個人網站,在上面撰寫了許許多多關於軟體和創業的文章,以深刻的見解和清晰的表達而著稱,迅速引起了轟動。2005年,他身體力行,創建了風險投資公司Y Combinator,將自己的理論轉化為實踐,目前已經資助了80多家創業公司。現在,他是公認的網際網路創業權威。

圖書目錄


《黑客與畫家:矽谷創業之父paul graham文集》
1 、為什麼書獃子不受歡迎 1
他們的心思在別的地方。
2 、黑客與畫家 18
黑客也是創造者,與畫家、建築師、作家一樣。
3 、不能說的話 34
如果你的想法是社會無法容忍的,你怎麼辦?
4 、良好的壞習慣 52
與其他美國人一樣,黑客的成功秘訣就是打破常規。
5 、另一條路 59
網際網路軟體是微機誕生后的最大機會。
6 、如何創造財富 90
致富的最好方法就是為社會創造財富。創造財富的最好方法就是創業。
7 、關注貧富分化 111
“收入分配不平等”的危害,會不會沒有我們想的那樣嚴重?
8 、防止垃圾郵件的一種方法 124
不久前,許多專家還認為無法有效地過濾垃圾郵件。本文改變了他們的想法。
9 、設計者的品味 133
如何做出優秀的東西?
10 、編程語言解析 148
. 什麼是編程語言?為什麼它們現在很熱門?
11、一百年後的編程語言 156
一百年後,人類怎樣編程?為什麼不從現在開始就這樣編程呢?
12 、拒絕平庸 169
別忘了你的對手與你一樣,能用任何想用的語言編寫網際網路軟體。
13 、書獃子的復仇 180
在高科技行業,只有失敗者採用“業界最佳實踐”。
14 、夢寐以求的編程語言 198
一種好的編程語言,是讓黑客可以隨心所欲使用的語言。
15 、設計與研究 213
研究必須是“新”的,而設計必須是“好”的。
致謝 219
術語解釋 221
圖片授權說明 236

譯者序


你現在拿在手裡的,是一本非常重要、也非常獨特的書。
它的作者是美國網際網路界舉足輕重、有“創業教父”之稱的哈佛大學計算機博士保羅·格雷厄姆(Paul Graham)。本書是他的文集。
書中的內容並不深奧,不僅僅是寫給程序員和創業者的,更是寫給普通讀者的。作者最大的目的就是,通過這本書讓普通讀者理解我們所處的這個計算機時代。
1968年至1972年期間,美國出版過一本叫做《地球商品目錄》(Whole Earth Catalog)的雜誌,內容從植物種子到電子儀器,無所不包,出版目的據說是要幫助讀者“理解整個系統”。多年後,蘋果公司的總裁喬布斯盛讚它“有點像印刷版的谷歌”。從某種意義上說,本書也是如此,作者試圖從許許多多不同的方面解釋這個時代的內在脈絡,揭示它的發展軌跡,幫助你看清我們現在的位置和將來的方向。
電子技術的發展,使得計算機日益成為人類社會必不可少的一部分。
每個人日常生活的很大一部分都花在與計算機打交道上面。家用電錶是智能的,通信網路是程式控制的,信用卡是聯網的,就連點菜都會用到電子菜單。越來越多的跡象表明,未來的人類生活不僅是人與人的互動,而且更多的將是人與計算機的互動。
想要把握這個時代,就必須理解計算機。理解計算機的關鍵,則是要理解計算機背後的人。表面上這是一個機器的時代,但是實際上機器的設計者決定了我們的時代。程序員的審美決定了你看到的軟體界面,程序員的愛好決定了你有什麼樣的軟體可以使用。
我們的時代是程序員主導的時代,而偉大的程序員就是黑客。
本書就是幫助你了解黑客、從而理解這個時代的一把鑰匙。
在媒體和普通人的眼裡,“黑客”(hacker)就是入侵計算機的人,就是“計算機犯罪”的同義詞。但是,這並不是它的真正含義(至少不是原意),更不是本書所使用的含義。
要想讀懂這本書,首先就必須正確理解什麼是“黑客”。
為了把這個問題說清楚,有必要從源頭上講起。1946年,第一台電子計算機ENIAC在美國誕生,從此世界上一些最聰明、最有創造力的人開始進入這個行業,在他們身上逐漸地形成了一種獨特的技術文化。在這種文化的發展過程中,湧現了很多“行話”(jargon)。20世紀60年代初,麻省理工學院有一個學生團體叫做“鐵路模型技術俱樂部”(Tech Model Railroad Club,簡稱TMRC),他們把難題的解決方法稱為hack。
在這裡,hack作為名詞有兩個意思,既可以指很巧妙或很便捷的解決方法,也可以指比較笨拙、不那麼優雅的解決方法。兩者都能稱為hack,不同的是,前者是漂亮的解決方法(cool hack或neat hack),後者是醜陋的解決方法(ugly hack或quick hack)。hack的字典解釋是砍(木頭),在這些學生看來,解決一個計算機難題就好像砍倒一棵大樹。那麼相應地,完成這種hack的過程就被稱為hacking,而從事hacking的人就是hacker,也就是黑客。
從這個意思出發,hack還有一個引申義,指對某個程序或設備進行修改,使其完成原來不可用的功能(或者禁止外部使用者接觸到的功能)。在這種意義上,hacking可以與盜竊信息、信用卡欺詐或其他計算機犯罪聯繫在一起,這也是後來“黑客”被當作計算機入侵者的稱呼的原因。
但是,在20世紀60年代這個詞被發明的時候,“黑客”完全是正面意義上的稱呼。TMRC使用這個詞是帶有敬意的,因為在他們看來,如果要完成一個hack,就必然包含著高度的革新、獨樹一幟的風格、精湛的技藝。最能幹的人會自豪地稱自己為黑客。
這時,“黑客”這個詞不僅是第一流能力的象徵,還包含著求解問題過程中產生的精神愉悅或享受。也就是說,從一開始,黑客就是有精神追求的。自由軟體基金會創始人理查德· 斯托爾曼說:“出於興趣而解決某個難題,不管它有沒有用,這就是黑客。”
根據理查德· 斯托爾曼的說法,黑客行為必須包含三個特點:好玩、高智商、探索精神。只有其行為同時滿足這三個標準,才能被稱為“黑客”。另一方面,它們也構成了黑客的價值觀,黑客追求的就是這三種價值,而不是實用性或金錢。
1984年,《新聞周刊》的記者史蒂文· 利維出版了歷史上第一本介紹黑客的著作——《黑客:計算機革命的英雄》(Hackers: Heroes of the Computer Revolution)。在該書中,他進一步將黑客的價值觀總結為六條“黑客倫理”(hacker ethic),直到今天這幾條倫理都被視為這方面的最佳論述。
. (1) 使用計算機以及所有有助於了解這個世界本質的事物都不應受到任何限制。任何事情都應該親手嘗試。
(Access to computers—and anything that might teach you something about the way the world works—should be unlimited and total. Always yield to the Hands-On Imperative!)
(2) 信息應該全部免費。
(All information should be free.)
(3) 不信任權威,提倡去中心化。
(Mistrust Authority—Promote Decentralization.)
(4) 判斷一名黑客的水平應該看他的技術能力,而不是看他的學歷、年齡或地位等其他標準。
(Hackers should be judged by their hacking, not bogus criteria such as degrees, age, race, or position.)
(5) 你可以用計算機創造美和藝術。
(You can create art and beauty on a computer.)
(6) 計算機使生活更美好。
(Computers can change your life for the better.)
根據這六條“黑客倫理”,黑客價值觀的核心原則可以概括成這樣幾點:分享、開放、民主、計算機的自由使用、進步。
所以,“黑客”這個詞的原始含義就是指那些信奉“黑客倫理”而且能力高超的程序員。歷史上一些最優秀的程序員都是“黑客”。除了上文提到的理查德·斯托爾曼,還包括Unix操作系統創始人丹尼斯·里奇和肯·湯普森,經典巨著《計算機程序設計藝術》的作者、斯坦福大學計算機教授高德納Linux操作系統創始人萊納斯·托沃茲,“開源運動”創始人埃里克·雷蒙德,微軟公司創始人比爾·蓋茨等。正是黑客把計算機工業推向了更高的高度。
“黑客倫理”的一個必然推論就是,黑客不服從管教,具有叛逆精神。
黑客通常對管理者強加的、限制他們行為的愚蠢規定不屑一顧,會找出規避的方法。一部分原因是為了自由使用計算機,另一部分原因是為了顯現自己的聰明。比如,計算機設備的各種安全措施就是最常被黑客破解的東西。史蒂文·利維對這一點有過一段生動的描述:
“對於黑客來說,關著的門就是一種挑釁,而鎖著的門則是一種侮辱。……黑客相信,只要有助於改進現狀、探索未知,人們就應該被允許自由地使用各種工具和信息。當一個黑客需要一樣東西來幫助自己創造、探索或者改正某種設備時,他不會自找麻煩,不會接受那些財產專有權的荒謬概念。”
這就是黑客有時會入侵計算機系統的原因,他們的主要目的並不是侵犯別人的利益,這與那些計算機罪犯是不同的。
但是,20世紀80年代初,事情發生了變化。
1983年,一幫密爾沃基市的青少年黑客入侵了美國和加拿大的一些計算機系統,這件事被廣泛報道,同年9月5日的《新聞周刊》封面報道的標題就是“小心:黑客在行動”,這是歷史上主流媒體第一次使用“黑客”這個詞。在報道的時候,媒體只注意和強調黑客行為一個很窄的方面:入侵系統。(可能因為這種行為容易引起公眾的注意,提升報道的關注度。)他們把黑客簡單定義為入侵系統、破壞安全設施的人。從此,大多數人對於黑客有了錯誤的看法。同時,那些入侵計算機的程序員也自稱“黑客”,使得這個問題進一步複雜化。
雜誌、電視劇、電影、小說都對黑客的這種形象大肆渲染。黑客成了反社會的技術高手的代名詞,彷彿只要他坐在鍵盤前,就有一種從事犯罪活動的魔力,可以操縱任何與網路相連的機器,從核彈到車庫大門,都在黑客敲打鍵盤的操作之中被控制。根據這種觀點,黑客在最好的情況下是一個沒有認識到自己能力的清白的人,在最壞的情況下則是一個恐怖分子。在過去幾年中,隨著計算機病毒的泛濫,黑客在大眾心目中已經成了一個有害的人群。
那些傳統意義上的黑客不認同這樣使用“黑客”這個詞。他們認為,歷史上確實有一些正直的黑客,為了親自了解系統,做過違反法規的入侵舉動。但是,那些人並沒有惡意,而且從一開始惡作劇就是黑客文化的一部分,僅僅由此推斷入侵和破壞系統就是黑客文化的實質完全是錯誤的。真正的黑客致力於改變世界,讓世界運轉得美好。媒體對黑客的定義未免過於片面。
為了澄清“黑客”這個概念,他們提出只有傳統意義上的黑客才能被稱為hacker,而那些惡意入侵計算機系統的人應該被稱為cracker(入侵者)。這個觀點已經在程序員社區中得到普通認同。
本書正是在這個意義上使用“黑客”這個詞。在本書中,“黑客”就是指最優秀的程序員,而不是入侵計算機系統的人。
為了幫助讀者理解黑客,全書15章可以大致分成三個部分。
第一部分從第1章到第4章,解釋了黑客是如何成長的以及他們看待世界的一些觀點。
第二部分從第5章到第9章,解釋了黑客怎樣做出自己的成果,這些成果又是怎樣對全世界產生了影響。
第三部分從第10章到第15章,解釋了黑客的工具(編程語言)和工作方法,這是黑客文化的基礎和核心。
作者想讓公眾了解,黑客並不神秘,更不是技術怪人。Hackers and Painters這個書名就是在提示應該把黑客與畫家當作同一種人看待。和畫家一樣,黑客只是懷有一門特殊手藝、有創造天賦的普通人。這個書名還有另一層含義,即編程是一種藝術創作,黑客就是藝術家,開發軟體與畫家作畫、雕塑家雕刻、建築師設計房屋並沒有本質不同。
總之,這是一本幫助你理解這個時代的書。作者想教給你的其實是新思想。讀完以後,你看待世界的眼光很可能會完全不同了。如果你想在21世紀立足,理解這一次新的技術革命,做一個掌握自己命運的成功者,我建議你讀這本書。
翻譯過程中,我已經盡了最大努力,力求把原文忠實、清晰地譯成中文。本書的一些章節中作者談論的都是計算機行業的專業問題,但是他又希望讓普通讀者看懂,試圖用口語化、生活化的語言解釋專業概念,我個人感覺效果不太理想,反而使得行文稍顯冗餘和模糊,這一點提醒讀者注意。總的來說,這是一本計算機行業的經典著作,2004年在美國出版后一直暢銷不衰,深受好評,很多讀者都被作者的遠見卓識所折服。
最後,本書第13章涉及Lisp語言的部分曾請田春幫助校譯,在此表示衷心感謝。
阮一峰
2010年12月25日,寫於上海

媒體評論


此書將迫使你重新思考計算機編程的本質。
—— Robert Morris,麻省理工學院
人類社會還沒有充分理解程序員帶來的美和智慧。Graham的這本書卻做到了這一點,寫得清晰又動人。任何願意傾聽的人都會有所收穫。如果我們不願意馬上就失去一些重要的東西,那麼我們這個社會就應該傾聽。
—— Lawrence Lessig,斯坦福大學法學院,《Free Culture》的作者
真正睿智之士的腦力激蕩,讀來令人著迷。單單是《為何書獃子不受歡迎》一文就值回書價,它回答了我們這個時代的關鍵問題。
—— Chris Anderson,Wired雜誌主編
Paul Graham的思維站在高處,文筆優雅清晰,且不乏幽默,這不僅在像他這樣的電腦高手群體中實屬罕見,而且足以躋身於優秀作家的行列。
—— David Weinberger,《Cluetrain Manifesto》的作者
Paul Graham的《黑客與畫家》是一本內容廣泛的書,但是重要的地方,不是你從中學到了為什麼書獃子在高中時備受挫折,或者計算機語言設計和實現的奧妙,而是他在講述每一個題目時的那種方法,那樣生動有趣,富有啟迪性,讓你莞爾一笑,然後陷入思考。高度推薦此書給所有讀者。
—— Rob “CmdrTaco” Malda,Slashdot的創始人和管理者
Paul Graham是一個電腦高手,還是一個畫家,以及一個出色的作家。他的文章清晰易懂、幽默生動,充滿了與眾不同的看法和切實可行的高見。他從藝術、科學、商業互相交織的角度,談論如何寫出優秀的代碼。你可能會因為他的文章,而想要用Lisp語言編程。
—— Andy Hertzfeld,《Macintosh Computer》的作者
Paul Graham的《黑客與畫家》是我最近讀到的最發人深思的書籍之一。行文明白流暢,主題多樣,而且十分有趣。
——Jeff “hemos” Bates,OSDN的主管和Slashdot的開發者