《黑客與畫家》筆記

《黑客與畫家》Poul Graham


Poul Graham被譽(yù)為硅谷創(chuàng)業(yè)之父,他大學(xué)是在康奈爾大學(xué)主修哲學(xué),研究生去了哈佛計(jì)算機(jī)系,主修人工智能,計(jì)算機(jī)博士畢業(yè)后,進(jìn)入羅德島設(shè)計(jì)學(xué)院學(xué)習(xí)繪畫,后去佛羅倫薩美術(shù)學(xué)院繼續(xù)學(xué)習(xí)繪畫。學(xué)畫期間,錢花完了,他決定先解決自己的收入問題,于是找到了自己的黑客兄弟Robert Morris(曾編寫了歷史上第一個(gè)蠕蟲病毒“莫里斯蠕蟲”)。當(dāng)時(shí)趕上“互聯(lián)網(wǎng)概念”的大好時(shí)段,整個(gè)資本市場(chǎng)都為它而瘋狂,他決定搭建一個(gè)網(wǎng)店的軟件,這個(gè)產(chǎn)品就是Viaweb,后被雅虎以4900萬美元收購(gòu),改名為Yahoo!Store。離開公司后,他的生活頓時(shí)空閑了。他開始將自己對(duì)技術(shù)和創(chuàng)新的觀點(diǎn)寫成一系列的文章,發(fā)表在個(gè)人網(wǎng)站上。這些文章受到讀者的好評(píng)和追捧,最受歡迎的那部分文章出版了一本書,取名為《黑客與畫家》。后來,Graham在硅谷成立了Y Combinator(簡(jiǎn)稱YC)公司,用于扶植創(chuàng)業(yè)公司。到目前為止,從YC公司畢業(yè)的創(chuàng)業(yè)公司共有200家,已經(jīng)失敗的不到20%,遠(yuǎn)低于90%的業(yè)內(nèi)平均水平。這些公司成為了硅谷創(chuàng)業(yè)公司的主流,Graham也被譽(yù)為“硅谷創(chuàng)業(yè)之父”。

什么是“黑客”?1946年,麻省理工學(xué)院有一個(gè)學(xué)生團(tuán)體叫做“鐵路模型技術(shù)俱樂部”,他們把難題的解決方法成為hack。hack的字典解釋是砍(木頭),解決一個(gè)計(jì)算機(jī)難題就好像砍倒一顆大樹,完成這種hack的過程就被稱為hacking,而從事hacking的人就是hacker,也就是黑客。

黑客原本是正面意義的稱呼,最能干的人會(huì)自豪地稱自己為黑客。自由軟件基金會(huì)創(chuàng)始人理查德?斯托爾曼說:“出于興趣而解決某個(gè)難題,不管它有沒有用,這就是黑客?!?/strong>在某種意義上,hacking與盜竊信息,信用卡欺詐或其他計(jì)算機(jī)犯罪聯(lián)系在一起,這是“黑客”被當(dāng)做計(jì)算機(jī)入侵者的原因。黑客行為必須包括三個(gè)特點(diǎn):好玩、高智商、探索精神。史蒂文?利維進(jìn)一步將黑客的價(jià)值觀總結(jié)為六條“黑客倫理(hacker ethic)”。

黑客倫理:
1)使用計(jì)算機(jī)以及所有有助于了解這個(gè)世界本質(zhì)的事物都不應(yīng)受到任何限制。任何事情都應(yīng)該親手嘗試。
2)信息應(yīng)該全部免費(fèi)。
3)不信任權(quán)威,提倡去中心化。
4)判斷一名黑客的水平應(yīng)該看他的技術(shù)能力,而不是看他的學(xué)歷、年齡或地位等其他標(biāo)準(zhǔn)。
5)你可以用計(jì)算機(jī)創(chuàng)造美和藝術(shù)。
6)計(jì)算機(jī)使生活更美好。

真正的黑客致力于改變世界,讓世界運(yùn)轉(zhuǎn)的更好。和畫家一樣,黑客只是懷有一門特殊手藝、有創(chuàng)造天賦的普通人。而編程是一種藝術(shù)創(chuàng)作,黑客就是藝術(shù)家,開發(fā)軟件與畫家作畫、雕塑家雕刻、建筑師涉及房屋并沒有本質(zhì)不同。

在計(jì)算機(jī)的世界里,黑客指的是專家程序員。編程語言就是程序員的思維方式。黑客與畫家的共同之處,在于他們都是優(yōu)秀的創(chuàng)作者。

黑客真正想做的是設(shè)計(jì)優(yōu)美的軟件。這需要良好的設(shè)計(jì)感,但你覺得你有“良好的設(shè)計(jì)感”,與你實(shí)際是否具有,不存在相關(guān)關(guān)系,甚至可能存在負(fù)相關(guān)。就像你覺得你會(huì)做某件事,當(dāng)你真的去做的時(shí)候,卻發(fā)現(xiàn)自己不太可能做得到。那么如何考核自己能做出優(yōu)美的東西呢?答案是——時(shí)間,經(jīng)過歲月的洗禮,優(yōu)美的東西發(fā)展的機(jī)會(huì)更大,丑陋的東西往往會(huì)被淘汰。

作者說,你把整個(gè)程序想清楚的時(shí)間點(diǎn),應(yīng)該是在編寫代碼的同時(shí),而不是在編寫代碼之前,這與作家、畫家和建筑師的做法完全一樣。(而在我學(xué)習(xí)編程的這段時(shí)間內(nèi),我也深深意識(shí)到只有動(dòng)手敲代碼才能真正的學(xué)會(huì)編程。)

當(dāng)你排斥差異的時(shí)候,你不僅將失敗的可能性排除在外,也將獲得高利潤(rùn)的可能性排除在外。大部分公司不把設(shè)計(jì)軟件的職責(zé)交給一個(gè)優(yōu)秀的黑客,而是交給委員會(huì)。因?yàn)檫€害怕風(fēng)險(xiǎn),不敢創(chuàng)新。所以,如果你的競(jìng)爭(zhēng)優(yōu)勢(shì)是在軟件設(shè)計(jì)方面,并且你的競(jìng)爭(zhēng)對(duì)手是一家大公司,它大到由一群產(chǎn)品經(jīng)理來設(shè)計(jì)軟件,那么你的對(duì)手永遠(yuǎn)不會(huì)趕上你。只要你能做出大膽的設(shè)計(jì),由一個(gè)人或一批人同時(shí)負(fù)責(zé)設(shè)計(jì)和實(shí)現(xiàn)產(chǎn)品,你就能在這里戰(zhàn)勝大公司。(因此,創(chuàng)業(yè)一定要做別人沒有做過,并且只有你能做的那些有價(jià)值的東西。)

很多黑客都會(huì)找一份“白天工作”來解決生計(jì)問題,然后在其余時(shí)間開發(fā)優(yōu)美的軟件,因?yàn)?strong>如果你不愛一件事,就不可能把它做得真正優(yōu)秀,要是你很熱愛編程,你就不可避免地會(huì)開發(fā)你自己的項(xiàng)目。

創(chuàng)作者的學(xué)習(xí)途徑,一是在實(shí)踐中學(xué)習(xí),另一個(gè)學(xué)習(xí)的途徑是通過臨摹范例。一幅畫是逐步完成的。而編程也是這樣,如果你預(yù)先承認(rèn)規(guī)格設(shè)計(jì)是不完美的,編程時(shí),就可以根據(jù)需要當(dāng)場(chǎng)修改規(guī)格,最終會(huì)有一個(gè)更好的結(jié)果。不要太早決定一個(gè)程序該怎么做,動(dòng)態(tài)類型語言在這一點(diǎn)上就是贏家。優(yōu)秀的軟件對(duì)美有著狂熱的追求,如果你查看優(yōu)秀的軟件,會(huì)發(fā)現(xiàn)那些沒人會(huì)看的部分也是優(yōu)美的。如果黑客是一個(gè)創(chuàng)作者,他必須具備靈感。時(shí)刻考慮用戶的人性需要,才能做出偉大的產(chǎn)品,即“換位思考”。如何判斷是否有這種能力呢?就是看他解釋清楚的能力,如果你的面對(duì)外行人,你怎么向他解釋?

如果你是一個(gè)黑客,并且夢(mèng)想自己創(chuàng)業(yè),可能會(huì)有兩件事情讓你望卻步。一件是不懂管理,另一件是害怕競(jìng)爭(zhēng)。其實(shí),管理企業(yè)很簡(jiǎn)單,兩點(diǎn):做出用戶喜歡的產(chǎn)品;保證開支小于收入。

Graham認(rèn)為,如果你想致富,最好的辦法就是自己創(chuàng)業(yè),或是加入創(chuàng)業(yè)公司。創(chuàng)業(yè)公司必須是小公司。創(chuàng)業(yè)就像一個(gè)壓縮過程,你的工作年份被壓縮成短短幾年。但是,如果該你想賺100萬美元,就不得不忍受相當(dāng)于100萬美元的痛苦。如果創(chuàng)業(yè)那么輕松,所有人都去創(chuàng)業(yè)了。同時(shí),運(yùn)氣也是一個(gè)重要因素。世界的財(cái)富并不是一張大餅,而是不斷被創(chuàng)造出來了的,而被創(chuàng)造出來的東西才是財(cái)富,而金錢只是財(cái)富的一種表現(xiàn)形式。

工作就是在一個(gè)組織里,與許多人共同合作,做出某種人們需要的東西。而真正重要的是做出人們需要的東西,而不是加入某個(gè)公司。因此,做一個(gè)創(chuàng)造者,而不是一個(gè)維護(hù)者。在公司中,很難測(cè)量一個(gè)人的貢獻(xiàn),也就無法根據(jù)貢獻(xiàn)給予收入。那就創(chuàng)建自己的公司吧。

要致富,需要兩件東西:可測(cè)量性和可放大性。你的業(yè)績(jī)必須是可測(cè)量的,你做出的決定能夠產(chǎn)生巨大的效應(yīng),如CEO、電影主角,專業(yè)運(yùn)動(dòng)員等。Graham認(rèn)為,任何一個(gè)通過自身努力而致富的個(gè)人,在他們身上應(yīng)該都能同時(shí)發(fā)現(xiàn)可測(cè)量性和可方大性。但是收入和風(fēng)險(xiǎn)是對(duì)稱的,有巨大的利益,必然有失敗的可能。如果你有一分令人安全的工作,你不會(huì)致富,沒有危險(xiǎn),幾乎沒有可放大性。但是如果你的能力足夠強(qiáng),你自然擁有足夠處理風(fēng)險(xiǎn)的能力。(李笑來說,他到一個(gè)地方,就會(huì)深入思考一個(gè)問題:這里最需要什么?想好之后,就去做,后來都收益頗豐。他在新東方教學(xué)的時(shí)候,學(xué)校缺少作文老師,他就去教作文,結(jié)果成為了老師中收入最高的。當(dāng)然這一切的前提都是建立在“實(shí)力”基礎(chǔ)之上的。去變的優(yōu)秀吧。)

公司越小,你就越能準(zhǔn)確的估計(jì)每一個(gè)人的貢獻(xiàn)。(我最近在想的就是先加入一家小公司,雖然會(huì)很累,但肯定可以學(xué)到更多的東西,畢竟什么都需要你干。最好找出色的人合作,因?yàn)樗麄児ぷ骱湍愕囊黄鹌骄?jì)算。喬布斯說過一句話:創(chuàng)業(yè)的成敗取決于最早加入公司的那十個(gè)人。由此看來,實(shí)力是多么的重要?。?/p>

真正創(chuàng)業(yè)以后,你的競(jìng)爭(zhēng)對(duì)手決定了你到底要吃多少苦。而他們做出的決定都是一樣的:你能吃多少苦,我們就能吃多少苦。創(chuàng)業(yè)就像蚊子,要么贏得一切,要么徹底消失。保險(xiǎn)的做法就是在早期賣掉自己的創(chuàng)業(yè)公司,只求數(shù)量較少但是更有把握的回報(bào)。但是出售一家成功的創(chuàng)業(yè)公司要比出售還處于早期階段的創(chuàng)業(yè)公司更容易,即使會(huì)讓他們付出多得多的價(jià)碼。收購(gòu)這件事最難的地方就是讓買房真正拿出錢。對(duì)于買家來說,最強(qiáng)的收購(gòu)動(dòng)機(jī)就是看到競(jìng)爭(zhēng)對(duì)手可能收購(gòu)你;次強(qiáng)動(dòng)機(jī)是,讓他們擔(dān)心如果現(xiàn)在不買你,你的高速成長(zhǎng)將使未來的收購(gòu)耗資巨大,甚至你本身可能變成一個(gè)他們的競(jìng)爭(zhēng)對(duì)手。在這兩種收購(gòu)動(dòng)機(jī)中,歸根結(jié)底的因素都是用戶數(shù)量。用戶數(shù)量就是判斷公司表現(xiàn)好壞的指標(biāo)。(可是現(xiàn)在人們什么都不缺,如何做出用戶需要的東西呢?)

Graham認(rèn)為,與下棋、畫畫、寫小說一樣,賺錢也是一門專門的技能。每個(gè)人創(chuàng)造財(cái)富的能力和欲望強(qiáng)烈程度都不一樣,所以每個(gè)人創(chuàng)造財(cái)富的數(shù)量很不平等。一個(gè)大型上市公司CEO的收入大概是普通人的100倍。一個(gè)人工作具有多少價(jià)值不是由政府決定的,而是由市場(chǎng)決定的。(跟李笑來說的一樣,這里最需要什么?)

一個(gè)社會(huì)需要富人,這主要不是因?yàn)槟阈枰蝗说闹С鰟?chuàng)造就業(yè)機(jī)會(huì),而是他們?cè)谥赂贿^程中做出的事情。如果你讓亨利福特致富,他就會(huì)造成一臺(tái)拖拉機(jī),這樣你就不需要使用馬匹耕田了。這其實(shí)是實(shí)現(xiàn)了雙贏。

一名真正的創(chuàng)作者不僅應(yīng)該技術(shù)過硬,還應(yīng)當(dāng)能使用技術(shù)做出優(yōu)美的產(chǎn)品。怎樣做出好的產(chǎn)品?

好的設(shè)計(jì)是簡(jiǎn)單的設(shè)計(jì)。比如寫作,言簡(jiǎn)意賅肯定比浮夸的語調(diào)要好的多。

好的設(shè)計(jì)是永不過時(shí)的設(shè)計(jì)。很多大師的作品過了上千年依然是精品。

好的設(shè)計(jì)是解決主要問題的設(shè)計(jì)。簡(jiǎn)體語言淘汰了以前的繁體字就是一個(gè)例子。

好的設(shè)計(jì)是啟發(fā)性的設(shè)計(jì)。簡(jiǎn)奧斯汀的作品幾乎不帶任何描述,讓讀者自己把一切想象出來。

好的設(shè)計(jì)是趣味性的設(shè)計(jì)。如希區(qū)柯克拍攝的電影。

好的設(shè)計(jì)是艱苦的設(shè)計(jì)。在繪畫中,肖像畫占最高地位,因?yàn)槿颂瞄L(zhǎng)觀察臉了,所以肖像畫家不得不加倍努力才能達(dá)到我們的要求。

好的設(shè)計(jì)是看似容易的設(shè)計(jì)。作家的文章讀起來流暢自如,但是背后其實(shí)經(jīng)過了反復(fù)的修改。

好的設(shè)計(jì)是對(duì)稱的設(shè)計(jì)。寫作,繪畫,建筑中都大量出現(xiàn)。20世紀(jì),不對(duì)稱成了現(xiàn)代主義建筑的前提條件,即使如此,這些建筑也只是主軸上不對(duì)稱,細(xì)節(jié)部分依然大量使用對(duì)稱。

好的設(shè)計(jì)是模仿大自然的設(shè)計(jì)。無人機(jī)就像鳥一樣。

好的設(shè)計(jì)是能夠復(fù)制的設(shè)計(jì)。當(dāng)你對(duì)一件事情產(chǎn)生熱情的時(shí)候,就不會(huì)滿足于模仿了。你的品味就進(jìn)入了第二階段,開始自覺地進(jìn)行原創(chuàng)。

好的設(shè)計(jì)常常是奇特的設(shè)計(jì)。比如SR-71“黑鳥”超音速偵察機(jī)。

好的設(shè)計(jì)是成批出現(xiàn)的。比如15世紀(jì)的佛羅倫薩;現(xiàn)在的硅谷。之前,李笑來講要和身邊的人共同成長(zhǎng)是提到,當(dāng)年和他一起從新東方出來的那批人中很多取得成功。

好的設(shè)計(jì)是大膽的設(shè)計(jì)。今天的實(shí)驗(yàn)錯(cuò)誤就是明天的新理論,如果你想做出偉大的新成果,那就不能對(duì)常識(shí)與真理不相吻合之處視而不見,反而應(yīng)該特別注意才對(duì)。

Graham認(rèn)為好的設(shè)計(jì)大多數(shù)特點(diǎn)是可以培育的,但是“奇特”這個(gè)特點(diǎn)是無法培育的。愛因斯坦并不想讓相對(duì)論變的奇特,他只想找出真理,但是真理本身顯得很奇特;米開朗琪羅沒有想樹立自己的風(fēng)格,他只想畫出好作品,結(jié)果不由自主地創(chuàng)造出了米開朗琪羅風(fēng)格。你最后發(fā)展出來的風(fēng)格是自然而然形成的?!捌嫣亍边@個(gè)特點(diǎn)尤其如此,沒有其他路可走。

優(yōu)秀作品的秘訣就是:非常嚴(yán)格的品味,再加上實(shí)現(xiàn)這種品味的能力。

Graham認(rèn)為,Lisp語言是目前最強(qiáng)大的編程語言,但它沒有得到廣泛使用過的原因是因?yàn)榫幊陶Z言不僅僅是技術(shù),也是一種習(xí)慣性思維,非常難以改變。如果在不考慮其他因素的情況下,你不選擇最強(qiáng)大的那種語言就是一件很愚蠢的事。當(dāng)你的競(jìng)爭(zhēng)對(duì)手被牢牢粘在那些很普通的語言上面,永遠(yuǎn)都追不上你使用的技術(shù)。Java是業(yè)界標(biāo)準(zhǔn),使用它不會(huì)有錯(cuò),但是人才市場(chǎng)上肯定有無數(shù)的Java程序員,即使為我打工的這批人都辭職了,我也能夠輕易的找到替代者。(掌握核心技術(shù)真是特別關(guān)鍵。)一般來說,條件越苛刻的項(xiàng)目,強(qiáng)大編程語言就越能發(fā)揮作用。但是,無數(shù)的項(xiàng)目根本沒有苛刻條件的限制。(盲目的學(xué)不常用的技術(shù)也有弊端,無法和其他語言寫的程序協(xié)同工作,無法找到很多函數(shù)庫,不容易雇到程序員。)如果一種語言寫出的代碼比另一種語言長(zhǎng)三倍,這意味著你開發(fā)它耗費(fèi)的時(shí)間也會(huì)多三倍。而且即使多雇人手,也無法縮短開發(fā)時(shí)間,因?yàn)楫?dāng)團(tuán)隊(duì)規(guī)模超過某個(gè)門檻時(shí),再增加人手只會(huì)帶來凈流失。在一個(gè)高度競(jìng)爭(zhēng)的市場(chǎng),即使開發(fā)速度只相差兩三倍,也足以使得你永遠(yuǎn)處在落后的位置(還是要有實(shí)力?。。?/p>

“最好的文字來自不同的修改?!彼袃?yōu)秀的都知道這一點(diǎn),它對(duì)軟件開發(fā)也適用。設(shè)計(jì)一樣?xùn)|西,最重要的一點(diǎn)就是要經(jīng)?!霸僭O(shè)計(jì)”。為了做出優(yōu)秀的設(shè)計(jì),你必須貼近用戶,始終寸步不離。士氣也是設(shè)計(jì)的關(guān)鍵因素。設(shè)計(jì)意味著做出符合人類特點(diǎn)和需要的產(chǎn)品。但是,“人類”不僅包括用戶,還包括設(shè)計(jì)師,所以設(shè)計(jì)工作本身也必須符合設(shè)計(jì)師的特點(diǎn)和需要。

PS:埃里克?雷蒙德寫過一片文章《如何成為一名黑客》。他建議從Python和Java入手,因?yàn)樗鼈儽容^容易學(xué)。相當(dāng)高級(jí)一點(diǎn)的黑客,還應(yīng)該學(xué)習(xí)C和Perl。前者用來對(duì)付Unix系統(tǒng),后者用來系統(tǒng)管理和開發(fā)CGI腳本。最后,真正非常嚴(yán)肅地吧黑客作為人生目標(biāo)的人,應(yīng)該考慮學(xué)習(xí)Lisp。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 《黑客與畫家》讀書筆記作者:【美】格雷厄姆 保羅·格雷厄姆其人其事 Y Combinator (Y運(yùn)算子,簡(jiǎn)稱YC...
    Cytosine閱讀 1,461評(píng)論 0 3
  • 黑客與畫家 0. 譯者序 《黑客:計(jì)算機(jī)革命的英雄》中提出的6條黑客價(jià)值觀 使用計(jì)算機(jī)以及所有有助于了解這個(gè)世界本...
    雁宇閱讀 618評(píng)論 0 2
  • P185 Lisp 的 9 種思想: 條件結(jié)構(gòu)(即 if-then-else 結(jié)構(gòu)) 函數(shù)是一種數(shù)據(jù)類型 遞歸 變...
    彩色的鉛筆盒閱讀 230評(píng)論 0 0
  • 其實(shí)我的大哥不是我的親哥哥,我跟他是一個(gè)爺爺奶奶,我們是堂兄妹。 但是我們一起在鄉(xiāng)下長(zhǎng)大,所以關(guān)于兄弟姐妹的感情,...
    遇見劉海倫閱讀 197評(píng)論 0 0
  • 快一個(gè)小時(shí)就看了這么一點(diǎn),幾段文字反反復(fù)復(fù)看了好幾遍,還是有很多很難理解和記憶的地方。能看多少是多少吧。
    球球Emily閱讀 147評(píng)論 0 0

友情鏈接更多精彩內(nèi)容