他說,程式設計的黃金時代已到

Editor發表於2018-12-20

【黑客】界有這麼一本書,已經暢銷了十四年,並且還在繼續被人們追逐著、關注著。


這本書就是《黑客與畫家》,它的作者是美國網際網路界舉足輕重、有“創業教父”之稱的哈佛大學計算機博士 Paul Graham


他說,程式設計的黃金時代已到


這本書出版於2004年(英文版),其中不少文章寫於2001年,查詢了一下,中本版應該是2011年才有的。


他說,程式設計的黃金時代已到


14年過去了,為什麼今天我們還要談論這本書呢?


《黑客與畫家》的譯者阮一峰認為,這本書之所以依然能夠吸引14年後的讀者有兩個原因:


第一,PaulGraham寫的不是技術,而是技術背後的思想。就像數學一樣,正確的思想是不會過時的。


第二,PaulGraham的著眼點是長遠的未來,內容主要不是分析現狀,更不是總結過去,而是展望未來,以未來指導現在。比如第11章《一百年後的程式語言》就是研究一百年後人們會怎麼程式設計,從而推導到我們現在應該如何程式設計。



Paul Graham的語言也吸引著今天的人們繼續關注這本書。


PaulGraham在 2001年,討論到蘋果與微軟的PC之爭時,認為 "蘋果公司還沒有失敗,如果它能把iPod升級成手機,並且將網路瀏覽器包括在其中,那麼微軟公司就有大麻煩了。" 今天,我們已經共同見證了這一預言。更有魔力的是那些還沒有實現的語言,比如,Lisp語言將成為主流。


Paul Graham看到了更完整和更遙遠的世界,14年算什麼呢?Paul Graham要和我們討論的可是一百年後的程式語言啊!



關於這本書


這本書不僅是寫給程式設計師和創業者的,更是寫給普通讀者的,作者最大的目的就是通過這本書讓普通讀者理解我們所處的計算機時代。而理解計算機的關鍵,則是要理解計算機背後的人。


“表面上這是一個機器的時代,但是實際上機器的設計者決定了我們的時代。程式設計師的審美決定了你看到的軟體介面,程式設計師的愛好決定了你有什麼樣的軟體可以使用。”


我們的時代是程式設計師主導的時代,而偉大的程式設計師就是黑客。本書就是幫助你瞭解黑客,只有這樣,你才掌握了理解這個時代的鑰匙!


《黑客與畫家》共有15個主題內容:為什麼書呆子不受歡迎、黑客與畫家、不能說的話、良好的壞習慣、另一條路、如何創造財富、關注貧富分化、防止垃圾郵件的一種方法、設計者的品味、程式語言解析、一百年後的程式語言、拒絕平庸、書呆子的復仇、夢寐以求的程式語言、設計與研究。(有沒有很酷啊,每一個主題都好想看!)


他說,程式設計的黃金時代已到


而在你開始之前,需要明白的是Paul Graham要讓你掌握的這把鑰匙——黑客,到底是一個什麼樣的群體。



黑客就是最優秀的程式設計師


《黑客與畫家》中,“黑客”是指最優秀的程式設計師,而不是入侵計算機系統的人。比如,“開源運動”創始人埃裡克·雷蒙德,微軟公司創始人比爾·蓋茨,他們都是真正意義上的黑客。


他說,程式設計的黃金時代已到


黑客相信,只要有助於改進現狀、探索未知,人們就應該被允許自由地使用各種工具和資訊。當一個黑客需要一樣東西來幫助自己創造、探索或者改正某種裝置時,他不會自找麻煩,不會接受那些財產專有權的荒謬概念。這就是黑客有時會入侵計算機系統的原因,他們的主要目的並不是侵犯別人的利益,這與那些計算機罪犯是不同的。


他說,程式設計的黃金時代已到


“只有傳統意義上的黑客才能被稱為hacker,而那些惡意入侵計算機系統的人應該被稱為cracker(入侵者)。”這個觀點已經在程式設計師社群中得到普通認同。然而在普通人的心中,黑客的形象幾乎等同於“書呆子”,而“書呆子”並不是一個什麼好的形容詞。



為什麼書呆子不受歡迎?


他說,程式設計的黃金時代已到


作者提出了一個很有價值的觀點,“答案就是他們真的不想讓自己受歡迎。”作者認為,書呆子在選擇受歡迎和聰明中,果斷選擇了後者,他們的注意力不在社交上,而在其它地方。


電影《美麗心靈》(2001年)中的那個性格孤僻、不合群的男主角就是一個書呆子,這部電影是根據美國著名數學家John Nash的故事改編而成的。John Nash大學期間以行為古怪而聞名,30歲患上了嚴重的精神分裂症,但因其對博弈論的突出貢獻在其66歲的時候獲得1994年的諾貝爾經濟學獎。


他說,程式設計的黃金時代已到


文藝復興時期的代表人物Leon Battista Alberti有一句名言:“任何一種藝術,不管是否重要,如果你想要在該領域出類拔萃,就必須全身心投入。”


John Nashd的全身心投入讓他贏得了諾貝爾學獎,同樣地,那些被我們視為優秀的程式設計師——黑客,他們也付出了自己相當的精力和時間。


我想,作者在探討書呆子成因和心理之外,也還在探討那些具備“書呆子精神”的專注,正是這種專注,讓一些人成就了自己,取得了讓人稱歎的成績。


“當你所做的事情能產生真實的效果,那就不僅僅是好玩而已了,發現正確的答案就開始變得重要了,這正是書呆子的優勢所在……書呆子並不是失敗者。他們只是在玩一個不同的遊戲,一個更接近於真實世界狀況的遊戲。成年人明白這一點。成功的成年人,幾乎都聲稱自己在高中屬於書呆子。”——John Nashd



黑客與畫家


這本書的第二個主題就是【黑客與畫家】,也正是本書的名字。那麼,作者為什麼要把黑客和畫家放在一起呢?


PaulGraham說,“在我知道的所有行業中,黑客與畫家最相像”。


1、時間的考核


他說,程式設計的黃金時代已到


有時,黑客做的事情被稱為“軟體工程”(software engineering),但是Paul認為與其說優秀的軟體設計師是工程師,不如說他們是建築師。建築師決定做什麼,而工程師思考怎麼做。


黑客真正想做的是設計優美的軟體,但是是否具有“良好的設計感”,這是一個需要考核的問題。


Paul說,“人們無法考核你的工作,甚至誤解你的工作,都不是最糟的事。更大的危險是你自己也會誤解自己的工作。”


那麼有效的考核是什麼呢?作者認為是——時間。


"經過歲月的洗禮,優美的東西生存發展的機會更大,醜陋的東西往往會被淘汰。不幸的是,這種考核需要的時間可能比一個人的生命還要長。塞繆爾·約翰遜說過,人們對一個作家的評價,需要100年才能達成一致。你必須先等他的那些有影響力的朋友都死了,然後再等他的追隨者都死了,才能對他有一個公正的評價。"


黑客編寫的軟體是需要時間的考核的,甚至,黑客所熱愛的程式設計的命運本身也是在被時間考核著。


“一種新的媒介剛剛誕生的時候,人們熱情髙漲、興奮不已,短短几代人就探索清楚了這種媒介的大部分可能性,把它的能量發揮到極致。程式設計目前好像就處在這個階段。


在達·芬奇的年代,繪畫並不是一件很酷的事情,達·芬奇用自己的工作推動繪畫成為一種偉大的表達方式。同樣,程式設計到底能夠有多酷,取決於我們能夠用這種新媒介做出怎樣的工作。”



2、day job


他說,程式設計的黃金時代已到


黑客如何才能做自己喜歡的事情?


Paul認為這個問題的解決方法是——day job(“白天工作”),這是一個幾乎所有創作者都指導的方法。畫家和作家尤其如此。


“如果幸運的話,你能找到一份與你的“真正工作”非常相關的“白天工作”……鑽研某種程式語言或作業系統的黑客,很可能會得到一份使用這些工具的“白天工作”。當我說,黑客解決生計問題的方法是找一份“白天工作”,然後在其餘時間開發優美的軟體,我並沒有說這是一個新方法。開源軟體界的黑客早就這樣做了。我想說的其實是,幵源軟體的這種工作模式可能就是正確的模式,因為它已經被其他領域的創作者都驗證過了。”



3、動手

黑客還能從畫家身上學到的是——如何學習程式設計。


畫家學習繪畫的方法是動手畫,黑客學習程式設計也理應如此。就像我們瞭解的那些厲害的黑客,他們並不是在大學期間才學習程式設計的。比如,前段時間和大家分享的“世界頭號黑客”——凱文·米特尼克(點選即可閱讀),在15歲時就破解北美空中防務指揮系統成功。可想而知,他的動手練習遠遠早於15歲。


他說,程式設計的黃金時代已到


“對於黑客來說,採取像畫家這樣的做法很有好處:應該定期地從頭開始,而不要長年累月地在一個專案上不斷工作,並且試圖把所有的最新想法都以修訂版的形式包括進去。”



4、對美的狂熱追求

黑客和畫家一樣,對美有著狂熱的追求。Paul 就坦言,“看到程式碼前面的縮排亂七八糟,或者看到醜陋的變數名,都會把我逼瘋的。”


“如果黑客只是一個負責實現領導意志的技術工人,職責就是根據規格說明書寫出程式碼,那麼他其實與一個挖水溝的工人是一樣的,從這頭挖到那頭,僅此而已。但是,如果黑客是一個創作者,他從事的就不是機械性的工作,他必須具備靈感。”



5、合作

歷史上很多偉大的藝術品都是多人合作的結果,當多個畫家共同創作一幅作品時,每個人畫的部分是不一樣的。


同理,多人開發一個軟體,就需要合作,而合作要注意不可“過頭”,否則就沒有人真正“擁有”某塊程式碼,就會變成雜物間,無人管理。就像繪畫合作那樣,有人主畫,有人輔助。


“正確的合作方法是將專案分割成嚴格定義的模組,每一個模組由一個人明確負責。模組與模組之間的介面經過精心設計,如果可能的話,最好把文件說明寫得像程式語言規範那樣清晰。”



6、人

偉大的繪畫作品都是畫人的,因為人類總是對自身感興趣的。比如《蒙娜麗莎》、《亞威農少女》、《倫勃朗63歲自畫像》…..


他說,程式設計的黃金時代已到


就像繪畫作品一樣,大多數軟體是為人類使用者準備的。所以,黑客必須像畫家一樣,時刻考慮到使用者的人性需要,這樣才能做出偉大的產品。


Paul Graham說,眼下看來藝術家比黑客更酷,但是我們不應忘記,古時候繪畫蓬勃發展的那些黃金年代,畫家也不是像今天這樣酷的。我們能夠有把握說的就是,現在正是程式設計的黃金年代!


他說,程式設計的黃金時代已到



《黑客與畫家》正在重塑的不只是程式設計師的看世界的方式,也在幫助每一個想要在未來遊刃有餘生活的人重新認識這個我們生活的時代。


如果你不再滿足只是作為一個普通程式設計師,而想成為一個真正的黑客,你應該瞭解真正的黑客如何看待世界和思考問題。


或許你想獲得在這個時代以及未來的關鍵(重要)鑰匙,那麼你應該去了解黑客到底是一個什麼樣的存在。


而這一切,Paul Graham早在14年前,甚至更早為你準備好了!




Live in the future, then build what's missing

——Paul Graham





來源:

  • 向著未來而生----《黑客與畫家(精裝本)》序言,阮一峰
  • 《黑客與畫家》


轉載請註明:轉自看雪學院


更多資訊:


相關文章