《黑客與畫家》讀書筆記(1-3章)

黑客與畫家

【美】格雷厄姆

保羅·格雷厄姆其人其事
2017-02-18
Y Combinator (Y運算子,簡稱YC)
2017-02-18
YC在每年的一月和六月舉辦兩次訓練營,每次爲期三個月。通常每次大概有500個申請者,他們從中挑出20個項目 。每個項目將得到1.1萬美元的啓動資金,外加每個項目成員3000美元的生活津貼,交換條件是YC將拿走該項目5%的股份 。如果項目成功,5%的股份將非常值錢。
2017-02-18
保羅·格雷厄姆有一套完整的創業哲學,他的創業公式是:
(1)搭建原型
(2)上線運營(別管bug)
(3)收集反饋
(4)調整產品
(5)成長壯大
2017-02-18
首先,他鼓勵創業公司快速發佈產品,因爲這樣可以儘早知道一個創意是否可行。其次,他認爲一定要特別關注用戶需要什麼,這樣纔有辦法將一個壞項目轉變成好項目。
2017-02-18
比起那些令人叫好的創意,格雷厄姆更看重創始人的素質。他說:“我們從一開始就認識到,創始人本身比他的創意更重要。”他還認爲,小團隊更容易成功,創始成員總數最好不要超過三個人。其中一個原因是,創始人越多,股權越不容易平等分配,容易造成內耗。

譯者序
2017-02-18
20世紀60年代初,麻省理工學院有一個學生團體叫做“鐵路模型技術俱樂部”(Tech Model Railroad Club,簡稱TMRC),他們把難題的解決方法稱爲hack。
在這裏,hack作爲名詞有兩個意思,既可以指很巧妙或很便捷的解決方法,也可以指比較笨拙、不那麼優雅的解決方法。兩者都能稱爲hack,不同的是,前者是漂亮的解決方法(cool hack或neat hack),後者是醜陋的解決方法(ugly hack或quick hack)。
2017-02-18
完成這種hack的過程就被稱爲hacking,而從事hacking的人就是hacker,也就是黑客。
2017-02-18
hack還有一個引申義,指對某個程序或設備進行修改,使其完成原來不可用的功能(或者禁止外部使用者接觸到的功能)。在這種意義上,hacking可以與盜竊信息、信用卡欺詐或其他計算機犯罪聯繫在一起,這也是後來“黑客”被當作計算機入侵者的稱呼的原因。
2017-02-18
自由軟件基金會創始人理查德·斯托爾曼說:“出於興趣而解決某個難題,不管它有沒有用,這就是黑客。”
2017-02-19
惡意入侵計算機系統的人應該被稱爲cracker(入侵者)
2017-02-19
本書的一些章節中作者談論的都是計算機行業的專業問題,但是他又希望讓普通讀者看懂,試圖用口語化、生活化的語言解釋專業概念,我個人感覺效果不太理想,反而使得行文稍顯冗餘和模糊,這一點提醒讀者注意。

前言
2017-02-19
我們生活中的一切,都正在成爲計算機。
2017-02-19
旅遊網站Orbitz成功打入了競爭激烈的網絡訂房訂票市場。該市場原先被兩大巨頭主宰,一個是微軟公司,另一個是擁有數十年電子預定服務經驗的Sabre。Orbitz是怎麼從它們手中搶到市場的?最主要的原因就是它使用了一種更好的編程語言。
2017-02-19
Slashdot(它是黑客世界的《紐約時報》
2017-02-19
雖然黑客從外表看上去一般都是呆呆的,但是他們的大腦內部卻是一個有趣得讓你吃驚的地方。

1 爲什麼書呆子不受歡迎
2017-02-19
文藝復興時期的代表人物阿爾伯蒂有一句名言:“任何一種藝術,不管是否重要,如果你想要在該領域出類拔萃,就必須全身心投入。”
2017-02-19
在任何社會等級制度中,那些對自己沒自信的人就會通過虐待他們眼中的下等人來突顯自己的身份。
2017-02-19
但是我認爲,孩子們欺負書呆子的主要原因也與追求“受歡迎”的心理有關。怎樣才能讓自己更受歡迎?個人魅力只是很小的一方面,你應該更多地考慮如何結盟。祕訣就是不停地設法使自己與其他受歡迎的人變得關係更密切。沒有什麼比一個共同的敵人更能使得人們團結起來了。
2017-02-19
當你所做的事情能產生真實的效果,那就不僅僅是好玩而已了,發現正確的答案就開始變得重要了,這正是書呆子的優勢所在。
2017-02-19
青少年都不喜歡孤獨一人,即使具有叛逆心理的青少年也是如此。

2 黑客與畫家
2017-02-19
我現在認爲,大學裏教給我的編程方法都是錯的。
2017-02-19
你把整個程序想清楚的時間點,應該是在編寫代碼的同時,而不是在編寫代碼之前
2017-02-19
編程語言首要的特性應該是允許動態擴展(malleable)。編程語言是用來幫助思考程序的,而不是用來表達你已經想好的程序。
2017-02-19
靜態類型(static typing)
2017-02-19
小竅門:用希臘字母表示變量名會令人印象更深刻。
2017-02-19
等我來到雅虎以後,發現在他們看來,“黑客”的工作就是用軟件實現某個功能,而不是設計軟件。在那裏,程序員被當作技工,職責就是將產品經理的“構想”(如果這個詞是這麼用的話)翻譯成代碼。
2017-02-19
真正競爭軟件設計的戰場是新興領域的市場
2017-02-19
我們面試程序員的時候,主要關注的事情就是業餘時間他們寫了什麼軟件。因爲如果你不愛一件事,你不可能把它做得真正優秀,要是你很熱愛編程,你就不可避免地會開發你自己的項目。
2017-02-19
也許對於黑客來說,採取像畫家這樣的做法很有好處:應該定期地從頭開始,而不要長年累月地在一個項目上不斷工作,並且試圖把所有的最新想法都以修訂版的形式包括進去。
2017-02-19
你不能盼望先有一個完美的規格設計,然後再動手編程,這樣想是不現實的。如果你預先承認規格設計是不完美的,在編程的時候,就可以根據需要當場修改規格,最終會有一個更好的結果。
(大公司的內部結構,使得它們很難這樣做。這是又一個創業公司佔優之處。)
2017-02-19
如果你查看優秀軟件的內部,就會發現那些預料中沒有人會看見的部分也是優美的。
2017-02-19
正確的合作方法是將項目分割成嚴格定義的模塊,每一個模塊由一個人明確負責。模塊與模塊之間的接口經過精心設計,如果可能的話,最好把文檔說明寫得像編程語言規範那樣清晰。
2017-02-19
就像繪畫作品一樣,大多數軟件是爲人類用戶準備的。所以,黑客必須像畫家一樣,時刻考慮到用戶的人性需要,這樣才能做出偉大的產品。你必須能夠站在用戶的角度思考問題,也就是說你必須學會“換位思考”。
2017-02-19
判斷一個人是否具備“換位思考”的能力有一個好方法,那就是看他怎樣向沒有技術背景的人解釋技術問題。
2017-02-19
軟件的部分功能就是解釋自身。爲了寫出優秀軟件,你必須假定用戶對你的軟件基本上一無所知。你要明白,用戶第一次使用你的軟件的時候,不會預先做好功課,他們沒有任何準備就開始用了,所以軟件的使用方式最好能符合用戶的直覺,別指望用戶去讀使用手冊。
2017-02-19
源代碼也應該可以自己解釋自己。如果我只能讓別人記住一句關於編程的名言,那麼這句名言就是《計算機程序的結構與解釋》一書的卷首語:
程序寫出來是給人看的,附帶能在機器上運行。

3 不能說的話
2017-02-19
到底什麼話是我們不能說的?爲了找到答案,首先,我們可以看看,周圍的人因爲說了什麼而陷入麻煩。
2017-02-19
第一個條件是,這些話不能說出口;第二個條件是,它們是正確的,或者看起來很可能正確,值得進一步討論。如果達不到第二個條件,大部分情況下你都不會有麻煩。
2017-02-19
觸怒他人的言論是那些可能會有人相信的言論。我猜想,最令人暴跳如雷的言論,就是被認爲說出了真相的言論。
2017-02-19
這就是找出“不能說的話”的第一種方法:判斷言論的真僞。
2017-02-19
除了真話以外,“不能說的話”還有一種可能。有些想法,純粹因爲非常特別,而不能說出口。比如,某個話題極其富有爭議,不管是對是錯,沒有人敢在公開場合談論它。我們怎樣才能發現這種情況呢?
我們把這種不一定正確、但是極富爭議的言論稱爲“異端邪說”。關注“異端邪說”,是找出“不能說的話”的第二種方法。
2017-02-19
歷史上的每一個年代,都會給“異端邪說”貼一些標籤,目的是在人們開始思考它們是否爲真之前就把它們封殺。“褻瀆神明”、“冒犯聖靈”、“異端”都是西方歷史上常見的標籤,當代的標籤則是“有傷風化”、“不得體”、“破壞國家利益”等。以前時代的標籤在今天已經不可避免地失去了殺傷力,最多隻能用於諷刺。
2017-02-19
所以,如何找出那些我們自以爲正確卻會被未來人們恥笑的話?方法就是關注這些標籤!
2017-02-19
給放射科醫生看胸部X光片,請他們判斷病人有沒有肺癌跡象。研究人員記錄了醫生檢查X光片時的眼球運動。研究發現,即使那些醫生漏掉了一個癌症病竈,他們的目光通常也會在那個地方停留一會。這說明他們的頭腦深處已經意識到那裏有問題,但是這種深層的反應沒有上升爲自覺的意識。我認爲,類似的思維機制存在於每個人的頭腦中,很多看似叛逆的“異端邪說”,早就“潛伏”在我們的思維深處。如果我們暫時關閉自我審查意識,它們就會第一個浮現出來。
2017-02-19
我們可以去找那些過去被認爲理所當然,如今卻被認爲不可思議的事情,這是用來找出我們自己正在犯下的錯誤的第三種方法。
2017-02-19
大多數的鬥爭,不管它們實際上爭的是什麼,都會以思想鬥爭的形式表現出來。
2017-02-19
思想鬥爭更容易爭取支持者。不管哪一方獲勝,他們所代表的思想也就被認爲獲得了勝利
2017-02-19
我並不是說鬥爭從來就與思想無關,而是要強調,不管實際上是否有思想鬥爭,鬥爭總是會以思想鬥爭的形式表現出來。
2017-02-19
想要做出優秀作品,你需要一個什麼問題都能思考的大腦。尤其是那些似乎不應該思考的問題,你的大腦也要養成思考它們的習慣。
2017-02-19
優秀作品往往來自於其他人忽視的想法,而最被忽視的想法就是那些被禁止的思想觀點。
2017-02-19
智力越高的人,越願意去思考那些驚世駭俗的思想觀點。
2017-02-19
不僅是在科學領域,在任何有競爭的地方,只要你能看到別人看不到或不敢看的東西,你就有很大的優勢。
2017-02-19
訓練自己去想那些不能想的事情,你獲得的好處會超過所得到的想法本身。
2017-02-19
如果你能“遠遠地”跳出傳統思維,提出讓別人一聽就腦袋轟一聲炸開的驚人觀點,那麼你就在“小小地”跳出傳統思維方面不會有任何困難。要知道,人們把後面的這種情況稱爲“創新”。
2017-02-19
一旦發現了“不能說的話”,下一步怎麼辦?我的建議就是別說,至少也要挑選合適的場合再說,只打那些值得打的仗。
2017-02-19
這時你要明白,自由思考比暢所欲言更重要。如果你感到一定要跟那些人辯個明白,絕不嚥下這口氣,一定要把話說清楚,結果很可能是從此你再也無法自由理性地思考了。我認爲這樣做不可取,更好的方法是在思想和言論之間劃一條明確的界線。在心裏無所不想,但是不一定要說出來。我就鼓勵自己在心裏默默思考那些最無法無天的想法。你的思想是一個地下組織,絕不要把那裏發生的事情一股腦說給外人聽。
2017-02-19
每個時代都有自己的忌諱,如果你觸犯它們,就算沒有坐牢,至少也會爲自己惹來麻煩,干擾了正常生活。
2017-02-19
“不能說的話”太多了,如果口無遮攔,你就沒時間做正事了。
2017-02-19
“守口如瓶”的真正缺點在於,你從此無法享受討論帶來的好處了。討論一個觀點會產生更多的觀點,不討論就什麼觀點也沒有。所以,如果可能的話,你最好找一些信得過的知己,只與他們暢所欲言、無所不談。這樣不僅可以獲得新觀點,還可以用來選擇朋友。能夠一起談論“異端邪說”並且不會因此氣急敗壞的人,就是你最應該認識的朋友。
2017-02-19
人們喜歡討論的許多問題實際上都是很複雜的,馬上說出你的想法對你並沒有什麼好處。
2017-02-19
歷史上,荷蘭人確實長期具有相對開放的思想。幾個世紀以來,這個地勢低窪的歐洲國家一直是言論相對自由的地方。在那裏,你可以放心說出其他地方不能說的話。這幫助它成爲學術和工業的中心。(言論自由與這兩者緊密結合的歷史,比大多數人意識到的還要長。)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章