保羅·格雷厄姆其人其事
保羅·格雷厄姆有一套完整的創業哲學,他的創業公式是:
- 搭建原型
- 上線運營(別管bug)
- 收集反饋
- 調整產品
- 成長壯大
“創始人本身比他的創意更加重要?!?/p>
創始成員總數最好不要超過三個人
評論:看樣子今天很多創業公司還要學習一個啊。尤其是創始人重要性這個問題上,人們常常覺得自己有一個創意,要是實現出來就能改變世界了,就缺一個程序員了。事實是,這是中二病得治??!更常見的情況是,你不是需要一個iphone的創意來改變世界,而是需要一個喬布斯來改變世界。
譯者序
黑客的價值觀——“黑客倫理”
- 使用計算機以及所有有助于了解這個世界本質的事物都不應受到任何限制,任何事情都應該親手嘗試
- 信息應該全部免費
- 不信任權威,提倡去中心化
- 判斷一名黑客的水平應該看他的技術能力,而不是看他的年齡或地位等其他標準
- 你可以用計算機創造美和藝術
- 計算機使得生活更美好
評論:我喜歡這六條黑客倫理,尤其喜歡第五條,我可以用計算機創造美和藝術,因為我喜歡計算機圖形學。而且虛擬的現實確實更有助于我們了解這個現實,如同黑客帝國所揭示的那樣,技術發展到哲學的高度,可能問題根本不在于我們這個世界的本質真相是什么,而是我們有哪些選擇的可能性。
前言
根據使用的語言不通,程序員往往會被分成不同的派別。人們區分程序員甚至不是看他們寫了什么程序,而是看他們使用了什么語言。所以,聲稱一種語言優于另一種語言被認為是不禮貌的行為。但是,沒有一個編程語言的設計者會相信“不同語言各有千秋”這種文縐縐的客套話。
評論:程序員的鄙視鏈
懂 Functional Programming 的工程師鄙視老是把設計模式掛在嘴邊的工程師
,老是把設計模式掛在嘴邊的工程師鄙視會說「你這樣寫就不 OO 了啊」的工程
師,會說「你這樣寫就不 OO 了啊」的工程師鄙視會說「哈?什么物件導向?
不是把重復的 code 寫成一個 function 就好了嗎?」的工程師,會說「哈?什么
物件導向?不是把重復的 code 寫成一個 function 就好了嗎?」的工程師鄙視把
同一段 code 到處復制貼上的工程師,把同一段 code 到處復制貼上的工程師鄙視 PM。
寫靜態語言的工程師鄙視寫動態語言的工程師。
寫組合語言的工程師鄙視寫 C 語言的工程師,C 語言工程師鄙視 C++ 工程師,
C++ 工程師鄙視 Java 和 C# 工程師,Java 工程師和 C# 工程師則互相鄙視,
而 C# 工程師又鄙視 Visual Basic 工程師和會把 C# 念成「C 井」的工程師,
會把 C# 念成「C 井」的工程師則鄙視認為 HTML 是一種程序語言的設計師。
用 Python 3 的工程師鄙視還在用 Python 2 的工程師,用 Python 2 的工程師
鄙視遇到 UnicodeEncodeError 的工程師。
寫 iOS 的工程師鄙視寫 Android 的工程師,寫 Android 的工程師鄙視
寫 Windows Phone 的工程師。
有 Swift 一年經驗的工程師鄙視有 Objective-C 五年經驗的工程師,寫
Objective-C 的工程師鄙視用 PhoneGap 包裝成 native app 的工程師。
用 React.js 的工程師鄙視用 AngularJS 的工程師,用 AngularJS 的工程師
鄙視用 jQuery 的工程師,用 jQuery 的工程師鄙視用 Vanilla JavaScript 的工
程師,用 Vanilla JavaScript 的工程師鄙視 IE 的使用者。
會用 debugger 的工程師鄙視用 assert 的工程師,用 assert 的工程師鄙視只
會 print () 的工程師;用 console.log () 來 debug 的工程師鄙視用 alert () 來
debug 的工程師。
寫 Ruby on Rails 的工程師鄙視所有使用其他語言的工程師。
什么?你說 Ruby?Ruby 只是 Ruby on Rails 的一套框架,才不是什么程序語言呢!
所有的工程師都鄙視 PHP 工程師。
第一章 書呆子為什么不受歡迎:他們的心思在別的地方
我后來認識很多人,讀書的時候都被稱為“書呆子”。從他們身上我發現,“書呆子”與“高智商”有強烈的正相關關系。而這些人在中學里都是不受歡迎的學生,你越喜歡讀書,就越不受別人的歡迎,因此“書呆子”和“受歡迎”之間,有一種強烈的負相關關系。這樣看來,“高智商”似乎導致了你不受歡迎。
...“受歡迎”需要付出巨大的努力,而書呆子沒有意識到這一點...書呆子不受歡迎真正的原因,是他們腦子里想著別的事情。他們的注意力都放在讀書或者觀察世界上面,而不是放在穿衣打扮、開晚會上面。
評論:這一篇文章可以算是生活大爆炸的推薦序了。也許當前的情況正在改變,就好像謝耳朵受大家喜歡,或者卷福說的那句"Smart is the new sexy",但是現實世界仍然而且會繼續是,我們需要巨大的努力來維持自己的社交關系,尤其是在中國這個注重所謂“關系”的社會中。我不知道聚餐時要喝酒到吐、為了表現自己進行毫無意義的加班、討好上司、參加好久都不聯系的同學婚禮對于一個技術人員的生命有何意義。如同文章中提到,“任何一種藝術,不管是否重要,如果你想要再改領域出類拔萃,就必須全身心投入”。好消息是,對于想成為黑客的人來說,社交中受不受歡迎就成為了一個可以拋棄的選擇。下次過年回家七大姑八大姨再過來對你的生活指手畫腳,迫不及待的給你傳授他們那些陳舊的人生經驗,熱情滿滿的給你規劃結婚買房生娃,你就可以鼓起勇氣更他們說一句,"FUCK OFF"!
第二章 黑客與畫家:黑客也是創造者,與畫家、建筑師、作家一樣
讀研究生期間,我潛意識里一直有一種很不舒服的感覺,覺得自己應該多學一點理論,不應該期末考試結束還不到三個星期,就把所有東西忘得一干二凈,那樣真是不可饒恕
現在,我意識到自己錯了。黑客搞懂“計算理論”的必要性,與畫家搞懂顏料化學成分的必要性差不多大。一般來說,在理論上,你需要知道如何計算時間復雜度和空間復雜度;如果你要寫一個解析器,可能還需要知道狀態機的概念。除此之外,并不需要知道特別多的理論。這些可比畫家必須記住的顏料成分少很多。
評論:Graham的這篇文章有些顛覆一般對于程序員的看法,也就是冰冷的、嚴謹的、不善談吐做事合理有序的一類人。從機器的角度來說,寫程序確實是這樣一個過程,冰冷的編輯器,嚴格的執行順序,乃至消滅程序里面所有Go To。然而我相信Graham的觀點是對的,對于真正喜歡編程的人來說,樂趣在于創造。相對于寫一個辦公管理系統,統計公司里面每天上下班打卡情況和工資發放,我更想去寫一個游戲;而游戲,就是我們這個時代的藝術。
黑客如何才能做自己喜歡的事情?我認為這個問題的解決方法是一個幾乎所有創作者都知道的方法:找一份養家糊口的“白天工作”。這個詞是從音樂家身上來的,他們晚上表演音樂,所以白天可以找一份其他工作。更一般的說,“白天工作”的意思是,你有一份為了賺錢的工作,還有一份為了愛好的工作。
黑客就像畫家,工作起來是有心理周期的。有時候,你有了一個令人興奮的新項目,你會愿意為它一天工作16個小時。等過了這一陣,你又會覺得百無聊賴,對所有事情都提不起興趣。
評論:做一個程序員有眾多的樂趣,其中的樂趣之一,就是它可以既是興趣,又是工作。你不用白天去修管道然后把有靈感的詩句寫在自己的小本子上,或者晚上才能表演音樂。即使是為了糊口的枯燥白天工作,至少也是寫程序,雖然可能是產品經理修修補補腦洞出來的破爛玩意兒。心理周期這一段簡直是神來之筆,我想每一個熱愛寫程序或者創作的人都會引起共鳴。