作者其人
作者Paul Graham 和他的伙伴兩個(gè)人 做出了互聯(lián)網(wǎng)程序的軟件Viaweb——因?yàn)樗麄儧](méi)太學(xué)過(guò)Windows開發(fā)方法,他們也不想學(xué)。
現(xiàn)在Paul Graham是硅谷 T combinator (創(chuàng)業(yè)公司孵化器)創(chuàng)始人,)每年一月六月兩次舉行訓(xùn)練營(yíng),每次為期三個(gè)月。TC每次展示日風(fēng)投們蜂擁而至。每個(gè)項(xiàng)目只有兩分半介紹,都要舉行三天。
其中,YC創(chuàng)業(yè)公式:搭建原型-上線運(yùn)營(yíng)(別管BUG)-收集反饋-調(diào)整產(chǎn)品-成長(zhǎng)壯大。他鼓勵(lì)創(chuàng)業(yè)公司快速發(fā)布產(chǎn)品,讓市場(chǎng)檢驗(yàn)。一定要關(guān)注客戶需求和反饋。小團(tuán)隊(duì)更容易成功,創(chuàng)業(yè)成員最好不要超過(guò)三個(gè),人越多,股權(quán)月不用一品等分配,造成內(nèi)耗。創(chuàng)業(yè)越來(lái)越簡(jiǎn)單,越來(lái)越底,唯一的門檻就是勇氣。
Hack這個(gè)詞由來(lái)和意義:
MIT有一個(gè)“鐵路模型技術(shù)俱樂(lè)部”(謝爾頓癖好由來(lái)),他們把解決難題方法成為Hack(字典意思是砍木頭,解決難題就像砍倒一棵樹)
黑客精神:(分享民主開放),
使用計(jì)算器以及所有有助與了解這個(gè)世界本質(zhì)的事物都不應(yīng)受到限制,任何事情都應(yīng)該親手嘗試。
1. 所有信息都應(yīng)該是自由的
2. 不信任權(quán)威,提倡去中心化。
3. 判斷一名黑客的水平應(yīng)該看他的技術(shù)能力,而不是他的學(xué)歷,年齡或者地位
4. 你可以用計(jì)算機(jī)創(chuàng)造藝術(shù)和美
5. 計(jì)算機(jī)使生活更美好
6. 所以本書的黑客指的是愿意解決問(wèn)題的碼狗們而不是入侵計(jì)算器的人
黑客與畫家
藝術(shù)作品(畫作和程序)的評(píng)判標(biāo)準(zhǔn)不一,唯一有效的外部考核就是時(shí)間,優(yōu)美的東西生存發(fā)展的機(jī)會(huì)會(huì)更大。“人們對(duì)一個(gè)作家的評(píng)價(jià),需要一百年才能達(dá)到一致,你得等他那些有影響力的朋友都死了,然后在等他的追隨者都死了,才能對(duì)他有一個(gè)公正的評(píng)價(jià)”——等敵人和朋友都走進(jìn)了墳?zāi)梗瑢?duì)作著的喜愛既不能產(chǎn)生虛名,又不會(huì)帶來(lái)惡意的攻擊,人們閱讀這些作品的時(shí)候,只有一個(gè)理由:那就是欣賞作品本身。
(但是實(shí)際上還是會(huì)有影響力的人產(chǎn)生喜惡,因?yàn)橐恍埩舻挠∠髱?lái)關(guān)注)
編程語(yǔ)言是用來(lái)幫助思考的程序的,而不是用來(lái)表達(dá)你已經(jīng)思考好的程序。
大學(xué)和實(shí)驗(yàn)室強(qiáng)迫黑客成為科學(xué)家,企業(yè)強(qiáng)迫黑客成為工程師。大公司這樣做是因?yàn)榱藴p少標(biāo)準(zhǔn)差。
大公司為了避免設(shè)計(jì)上的災(zāi)難,選擇減少設(shè)計(jì)標(biāo)準(zhǔn)差,排斥差異,排斥可能性。但是大公司不用特別優(yōu)秀來(lái)獲勝,他們只要做到不太爛,就能贏。
所以,黑客的出發(fā)點(diǎn)是原創(chuàng),最終得到一個(gè)優(yōu)美的結(jié)果,兒科學(xué)家的出發(fā)點(diǎn)是別人優(yōu)美的結(jié)果,最終得原創(chuàng)。
創(chuàng)業(yè)者學(xué)習(xí)的一個(gè)途徑是通過(guò)范例。——臨摹迫使你仔細(xì)觀察一幅畫是如何完成的。作家也是這樣寫作的,富蘭克林魔拜愛迪生和斯提爾的文章,雷蒙錢德勒也如此學(xué)會(huì)了寫偵探小說(shuō)。
所以黑客要看源碼而不是軟件——開源重要性。
幾乎所有偉大的作品都是畫人的,因?yàn)槿祟惪偸菍?duì)自身感興趣,也為人類一直在看人,稍微的偏差都會(huì)被察覺。
換位思考很重要,所以要關(guān)注用戶的需求和操作習(xí)慣而不是自己技術(shù)的表達(dá)——判斷一個(gè)人是否具有“換位思考能力的好辦法,就是看他怎樣向沒(méi)有技術(shù)背景的人解釋技術(shù)問(wèn)題”
“技術(shù)是寫出來(lái)給人看的,順帶能在機(jī)器上運(yùn)行”
現(xiàn)在是編程的黃金年代,就是編程年代的文藝復(fù)興的畫畫戲劇和文學(xué)——一種新出現(xiàn)的媒介,短短幾代人就探索清楚了這種媒介的大部分可能性,并把它的能量發(fā)揮到極致。
不能說(shuō)的話
作者在這一結(jié)探討了統(tǒng)治和盲從,秩序和自由,社會(huì)主流認(rèn)知正確與否,我們?nèi)绾伪3知?dú)立,不被誘導(dǎo)不盲從。
流行一時(shí)的不僅有衣服,還有道德觀念。流行道德的觀念不是善而是惡。(你不穿流行衣服會(huì)被嘲笑,但是你不遵守流行道德,就會(huì)被解雇流放漸進(jìn)殘殺),歷史的常態(tài)是,任何一個(gè)年代的人們,都會(huì)對(duì)一些荒謬的東西深信不疑。我們現(xiàn)在言之鑿鑿的東西,在未來(lái)人眼中確實(shí)荒誕不經(jīng)。
你和別人都一樣其實(shí)是一件很危險(xiǎn)的事情。(為了防止他人復(fù)制,古代制作地圖的工匠會(huì)故意在地圖上畫錯(cuò)一個(gè)小地方,如果你的地圖與他人一樣,就說(shuō)明不太可能是你自己獨(dú)立制作的),所以你和別人一樣的時(shí)候,很可能你的想法是被灌輸而不是自己得來(lái)的。
要想知道社會(huì)上哪些言論被操控,哪些意識(shí)被灌輸,比較好的方式是:找出這些不能說(shuō)的話和禁忌,然后去自己思考他們的對(duì)錯(cuò)。
找出的方式:
1. 關(guān)注“異端學(xué)說(shuō)”
歷史每一個(gè)年代都會(huì)給“異端學(xué)說(shuō)”貼一個(gè)標(biāo)簽,目的是在人們思考他是否為真之前就把他們封殺。以前的標(biāo)簽有:“褻瀆神明,冒犯神靈,異教徒,投機(jī)倒把,封建迷信“,現(xiàn)在標(biāo)簽有”有傷風(fēng)化,不得體,破壞國(guó)家利益,沒(méi)有責(zé)任感,不思進(jìn)取”。
但是對(duì)錯(cuò)的談?wù)摻K歸會(huì)落到結(jié)論性的標(biāo)簽上,比如屠殺民眾會(huì)被貼上反人類這個(gè)標(biāo)簽,所以標(biāo)簽不是重點(diǎn),重點(diǎn)是那些沒(méi)有侵犯古今中外(長(zhǎng)時(shí)間,多地域的普適性)共同認(rèn)知對(duì)錯(cuò)的標(biāo)簽——比如殺人無(wú)論在哪個(gè)年代都是錯(cuò)的,所以反人類這個(gè)標(biāo)簽是對(duì)的。但是投機(jī)倒把就只有部分時(shí)空是錯(cuò)的,所以是個(gè)錯(cuò)的標(biāo)簽。
找到這些被些當(dāng)代人們不贊同,卻又不算錯(cuò)的觀點(diǎn),找到這些標(biāo)簽,關(guān)注他們,思考他們。
很多人文社會(huì)科學(xué)都是軟科學(xué),不想數(shù)學(xué)物理一樣屬于硬科學(xué)。
2. 關(guān)注禁忌是如何產(chǎn)生的
流行的道德觀念往往不是偶然而是刻意創(chuàng)造出來(lái)。
伽利略因?yàn)樾麄魅障嫡f(shuō)被審判,但是日系說(shuō)的提出者哥白尼卻安然無(wú)恙因?yàn)樗环磳?duì)教廷,反而把自己的著作先給教皇,但是伽利略恰逢教會(huì)反對(duì)派上臺(tái)從而遭到宗教審判(沒(méi)有任何人被燒死!!)
大多數(shù)斗爭(zhēng),不管實(shí)際上爭(zhēng)的是什么,都會(huì)以思想斗爭(zhēng)的形式表現(xiàn)出來(lái)。思想斗爭(zhēng)更容易爭(zhēng)取支持者(階級(jí)斗爭(zhēng),反帝反封建)
我們要清晰的思考。必須遠(yuǎn)離人群甚至遠(yuǎn)離自己。但是你走的越遠(yuǎn),你的處境就會(huì)很苦難,收到的阻力和也會(huì)越大,因?yàn)槟銢](méi)有迎合社會(huì)習(xí)俗,而是一步步與他背道而馳。
流行的思想/道德觀念和流行的衣服很產(chǎn)生不盡相同,但是傳播過(guò)程卻很相似,遵循“引爆點(diǎn)”描述規(guī)律 :第一批人很強(qiáng)爆堵心,自覺精英意識(shí),想把自己和普通人分別開來(lái),第二批人追隨-不是為了不同,而是唯恐不同。
所以思考哪些團(tuán)體勢(shì)力強(qiáng)大卻高度緊張,喜歡壓制什么思想掛念,進(jìn)來(lái)有沒(méi)有社會(huì)斗爭(zhēng),失敗的是哪一方,收到他們牽連的是什么思想觀念。
發(fā)現(xiàn)了這些后,作者建議“什么也別說(shuō)”或者至少也要挑選個(gè)適合的場(chǎng)所說(shuō)。只打那些值得打的仗。
與笨蛋辯論,你也會(huì)變成笨蛋,自由思考比暢所欲言跟重要。我承認(rèn),守口如瓶看上去是一種怯懦的行為。但是為了與他人論戰(zhàn),你不得不變成一個(gè)語(yǔ)言學(xué)家。
(佛教說(shuō)不可說(shuō)不可說(shuō)也是這個(gè)道理,不盲目灌輸而是順其自認(rèn),不可言)
守口如瓶最大的缺點(diǎn)是:你無(wú)法享受討論帶來(lái)的好處了,討論會(huì)產(chǎn)生新的觀點(diǎn)。所以你要選擇朋友,一起討論異端學(xué)說(shuō)而不會(huì)氣急敗壞。
一個(gè)好的方式是:把辯論提升到一個(gè)抽象 層次 ?阿瑟密勒的搜捕女巫 帶有幽默和比喻去探討
圖窮匕見,作者講了所有引出了他關(guān)于主流思考保護(hù)版權(quán),政府職能的“異端學(xué)說(shuō)”:
保護(hù)支持產(chǎn)權(quán)不能促進(jìn)發(fā)展。因?yàn)樗{了黑客們的“思想自由”,計(jì)算機(jī)歷史上,新技術(shù)都是由外部人員開發(fā)的:新計(jì)算機(jī)是喬布斯而不是IMB發(fā)明,權(quán)威們的下一代操作系統(tǒng)Multics沒(méi)有流行反而兩個(gè)年輕人發(fā)明的Unix
(為了諷刺Mul-多的名字而起名-uni-單一)
自由是國(guó)家富強(qiáng)的原因,專制國(guó)家會(huì)變成腐敗國(guó)家,腐敗國(guó)家會(huì)變成貧窮國(guó)家。經(jīng)濟(jì)學(xué)里有一套拉弗曲線,認(rèn)為隨著稅率的上升,稅收會(huì)先增加再減少。
極權(quán)主義一旦形成,就很難廢除。這就是為什么黑客感到擔(dān)憂:政府會(huì)侵犯公民自由。他們遠(yuǎn)遠(yuǎn)就能感到極權(quán)主義威脅。美國(guó)開國(guó)元?jiǎng)捉芨ミd:反抗政府精神在某些場(chǎng)合是如此珍貴,我希望他永遠(yuǎn)保持活躍。
另一條路
作者著重寫了創(chuàng)業(yè)公司要存活之道和自己創(chuàng)業(yè)的心得:
人數(shù)越多效率越慢,因?yàn)槿伺c人時(shí)間溝通呈現(xiàn)指數(shù)增長(zhǎng)。
第一年后就不用分分鐘盯著服務(wù)器擔(dān)心出問(wèn)題,只有當(dāng)新的東西添加時(shí)才需要特別關(guān)注,所以一定不要半夜發(fā)布代碼。
好的銷售和市場(chǎng)團(tuán)隊(duì)很有幫助,但是客戶拿到的價(jià)格會(huì)因此而增加,所以好的安排是把個(gè)人和小企業(yè)客戶放在第一位,其他客戶該來(lái)的時(shí)候就會(huì)來(lái)
管理企業(yè)很簡(jiǎn)單,記住兩點(diǎn):做出用戶喜歡的產(chǎn)品,保證開支小于收入。
迅速做出產(chǎn)品推向市場(chǎng),并且不斷加以反饋和改進(jìn),用戶總是對(duì)的。
如何創(chuàng)造財(cái)富
作者探討了財(cái)富本質(zhì),財(cái)富由來(lái),大大的為有錢人們說(shuō)了一堆好話。
想致富就是最好自己創(chuàng)業(yè)。創(chuàng)業(yè)公司就是解決了某個(gè)技術(shù)問(wèn)題的小公司。創(chuàng)業(yè)不是變模式,不能改變創(chuàng)造財(cái)富規(guī)則:產(chǎn)生價(jià)值。只是創(chuàng)業(yè)中:1. 產(chǎn)生的價(jià)值會(huì)更直接返回給你個(gè)人而不會(huì)被剝削 2. 創(chuàng)業(yè)后你的工作強(qiáng)度增大你要干在公司里干的10-30倍努力來(lái)得到財(cái)富。
大公司無(wú)法準(zhǔn)確測(cè)量每個(gè)員工獲得的貢獻(xiàn),所以你的勞動(dòng)容易被平均。
所以要想賺錢,你的工作應(yīng)該具有:可測(cè)量性和可放大性。
銷售比后勤的工作就要更可測(cè)量。電影明星工作就具有更放大(全世界都會(huì)看到)。
小團(tuán)隊(duì)=可測(cè)量 ?喬布斯說(shuō)創(chuàng)業(yè)公司成敗取決于最早加入公司那十個(gè)人
高科技=可放大
創(chuàng)新,一次開發(fā),普遍使用。所以創(chuàng)業(yè)要解決的問(wèn)題越難越好,比如一只狗在追你,你要樓上跑而不是往平底跑(因?yàn)橥瑯邮巧蠘牵蠊繁饶愀y)
創(chuàng)業(yè)的本質(zhì)就是集中努力把后面好幾年的錢都掙了。但是你不能左右到底會(huì)付出多少(可能你只想付出10倍,卻付出了50倍)
創(chuàng)業(yè)公司大起大落,但是我們常常寧愿100%賺100萬(wàn)也不愿意20%概率賺1000萬(wàn),所以被收購(gòu)不錯(cuò),可以有專業(yè)人來(lái)維持公司后續(xù)管理運(yùn)轉(zhuǎn)。財(cái)務(wù)上也很明智。但是收購(gòu)很有學(xué)問(wèn)。
促成買家掏錢的最好辦法不是讓買家看到獲利,而是讓他們感到失去機(jī)會(huì)的恐懼。次強(qiáng)的動(dòng)機(jī)是讓他們擔(dān)心如果現(xiàn)在不買你,你的高速成長(zhǎng)是的未來(lái)收購(gòu)耗資巨大,甚至你本身就會(huì)成為他們的競(jìng)爭(zhēng)對(duì)手。
不要讓技術(shù)頑童掌控公司,因?yàn)樗麄儾辉谝庥脩粜枨蟆J召?gòu)時(shí)用戶數(shù)量很重要。
財(cái)富的獲得手段:賭博,投機(jī),婚姻集成,偷竊,敲詐,詐騙,壟斷,行賄,造假,開礦
財(cái)富和金錢不一定,金錢只是計(jì)量財(cái)富流動(dòng)的工具。也是工具,方便大家更方便獲得自己想要的東西。
作者的核心思想是現(xiàn)在財(cái)富不再是一個(gè)大蛋糕而是可以被創(chuàng)造和增加出來(lái)的。碼農(nóng)們寫出了代碼便捷了生活創(chuàng)造了價(jià)值,所以獲得財(cái)富來(lái)犒賞他們就是應(yīng)該的,這樣他們才會(huì)繼續(xù)寫代碼方便生活。
人們會(huì)需求不正確的東西(但是問(wèn)題是你寫出的那些通過(guò)層層剝削真正付出代價(jià)的不一定是使用服務(wù)的人,而且你寫代碼得到的真的值那些錢么-你可能說(shuō)因?yàn)橛腥擞行枨螅疫@種需求比較少的人可以提供,所以供需導(dǎo)致你得的多,但是要知道,大家的需求真的是需求的么,還是你用了你的資本,影響力,人性的弱點(diǎn),就像制毒販毒的也可以認(rèn)為自己提供了享受服務(wù),可以創(chuàng)造并享受服務(wù)么?? 我們所謂的發(fā)明優(yōu)化其實(shí)有限,更多我們?cè)诰鹑∽匀毁Y源和勞苦人民的勞作。且為了讓人們產(chǎn)生并享受,有那些需求,我們把人民引導(dǎo)的那么趨同,多樣性沒(méi)有了。)
創(chuàng)造出來(lái)的財(cái)富不一定要通過(guò)出售實(shí)現(xiàn)價(jià)值。至少最近,科學(xué)家一直把他們創(chuàng)造的財(cái)富捐獻(xiàn)給社會(huì)。
(所以資本和商人就撿著用來(lái)賺錢。這是不是意味著不公平,或者說(shuō),經(jīng)商能力比真正意義上創(chuàng)造財(cái)富能力更能獲得財(cái)富)
以前財(cái)富的來(lái)源都是礦石,奴隸,農(nóng)奴,土地,牲畜。而快速獲得財(cái)富的方法只有繼承,婚姻,征服,沒(méi)收。
以前有錢人才有馬車,不管什么馬車。但是工業(yè)化生產(chǎn)使得批量成本降低,不用很有錢就能有汽車,所以怎么體現(xiàn)有錢人?那就用品牌。不同牌子的汽車。技術(shù)無(wú)法使其變得便宜的唯一東西,就是品牌。夫人和窮人指尖生活差異的鴻溝正在縮小,品牌就是這種差距的遺留物。
編程相關(guān)
作者描述了軟件領(lǐng)域各種語(yǔ)言層次,不遺余力的背書lisp語(yǔ)言,提及統(tǒng)計(jì)學(xué)的人工智能相關(guān)。
統(tǒng)計(jì)學(xué)相關(guān)處理和機(jī)械智能自己學(xué)習(xí)可以發(fā)現(xiàn)很多我們發(fā)現(xiàn)不了的,不再需要用邏輯而是統(tǒng)計(jì)來(lái)發(fā)現(xiàn)。例如:找尋關(guān)鍵詞阻止垃圾郵件可以自己分析,但是很累,而且要像那些人一樣思考,用統(tǒng)計(jì)獨(dú)臂就很高效智能準(zhǔn)確。
關(guān)于設(shè)計(jì)/軟件設(shè)計(jì)的幾點(diǎn)高屋建瓴:
好的設(shè)計(jì)要簡(jiǎn)單,啟發(fā)性,趣味性,艱苦的(反復(fù)修改,包豪斯學(xué)派-功能決定形式),再設(shè)計(jì)
編程語(yǔ)言:
機(jī)器語(yǔ)言指的是及其讀得懂的,如加法是11001101
匯編語(yǔ)言指是對(duì)機(jī)械語(yǔ)言一種簡(jiǎn)單更好理解的等效;例如加法是add (目標(biāo)碼)
高級(jí)語(yǔ)言:更高的等效:例如你可以寫下:蜂鳴器響十次。然后有一個(gè)助手會(huì)把這句話翻譯成匯編語(yǔ)言,這個(gè)助手就是編譯器。你寫下的蜂鳴器響十次就是高級(jí)語(yǔ)言的源碼。轉(zhuǎn)換過(guò)去的是目標(biāo)碼。
我們開源指的是開方高級(jí)語(yǔ)言的源碼而不是目標(biāo)碼,因?yàn)樵创a可讀。
幾種高級(jí)語(yǔ)言都可以用,各有優(yōu)劣(抽象程度排列為:lisp-ruby-perl / python- java ?- C/C++ - )越不抽象,越貼近機(jī)器語(yǔ)言,運(yùn)行效率越高(所以寄出系統(tǒng)都是不抽象語(yǔ)言寫的)但是作者認(rèn)為越抽象語(yǔ)言越能體現(xiàn)變成思路,幫助思考。所以力挺Lisp
大部分入侵計(jì)算機(jī)手法都是利用了C語(yǔ)言某些特點(diǎn)——緩沖區(qū)溢出攻擊-黑客猜出你輸入緩存字節(jié)字符,多提交占據(jù),然后他就能讓自己剩下的數(shù)據(jù)提成為操作代碼。(就像劫持飛機(jī)帶領(lǐng)所有人坐滿了自己就到了駕駛室)
編程語(yǔ)言靜態(tài)/動(dòng)態(tài)語(yǔ)言爭(zhēng)論:靜態(tài)必須制定變量類型,動(dòng)態(tài)可以把任意變量設(shè)為任意值。前者可以防止bug,后者編寫自由。
面向?qū)ο笞兂膳c否:比如要寫程序求幾何圖形面積,不面向?qū)ο笏悸肥窍葘懘a判斷什么圖形,再根據(jù)相應(yīng)公式求面積。面對(duì)對(duì)象是寫出兩個(gè)類:圓形類和方形類,先問(wèn)是哪個(gè)類,再計(jì)算。雖然聽起來(lái)很像,但是代碼差別巨大。
面向?qū)ο蟮膬?yōu)點(diǎn)在于,如果你要修改程序計(jì)算其他,只要增加一塊代碼就可以了,甚至不用修改其他部分。對(duì)于面向?qū)ο螅Z(yǔ)言有兩種思路:你可以面向?qū)ο螅瑥?qiáng)迫你一定要面向?qū)ο蟆?/p>