AI

考慮到一切,僅僅通過(guò)書(shū)本學(xué)習(xí)你能走多遠(yuǎn)是個(gè)值得懷疑的問(wèn)題纳猪。

雷鋒網(wǎng) AI 科技評(píng)論按怎炊,相信很多做技術(shù)的同學(xué)都自學(xué)過(guò),也看過(guò)「Teach Yourself Programming in Ten Years」這篇文章祠墅。雖然離初次發(fā)表已經(jīng)好幾年了瓷蛙,但所有試圖自學(xué)編程的人都應(yīng)該發(fā)自內(nèi)心的同意它的說(shuō)法(除去少數(shù)過(guò)時(shí)的具體技術(shù)部分)慢蜓。直到今天,這篇經(jīng)典的文章依然很有借鑒意義娘纷。以下是這篇文章的中文版回铛。

為什么每個(gè)人都這么匆忙狗准?

走進(jìn)任何書(shū)店克锣,你都會(huì)看到如何在 24 小時(shí)內(nèi)自學(xué) Java,同時(shí)你還可以看到很多在幾天或幾小時(shí)內(nèi)學(xué)會(huì) C腔长、SQL袭祟、Ruby、算法等等的書(shū)籍捞附。在亞馬遜使用「title: teach, yourself, hours, since: 2000」進(jìn)行高級(jí)搜索巾乳,我發(fā)現(xiàn)了 512 本這樣的書(shū)。在排在前十名的書(shū)籍中鸟召,有九本是編程書(shū)籍胆绊,剩下一本是關(guān)于財(cái)務(wù)管理的。用「teach yourself」代替「learn」欧募,或者用「day」代替「hours」產(chǎn)生的結(jié)果類似压状。

結(jié)論是,要么人們急于學(xué)習(xí)編程跟继,要么編程比其他任何東西都更容易學(xué)習(xí)何缓。Felleisen 等人在他們的書(shū)《How to Design Programs》中提到,「糟糕的編程很容易还栓,即便是白癡都可以在 21 天內(nèi)學(xué)會(huì)」時(shí)碌廓,請(qǐng)對(duì)這一觀點(diǎn)表示贊同。

讓我們來(lái)分析一下在 24 小時(shí)內(nèi)學(xué)會(huì) C++意味著什么:

自學(xué):24 小時(shí)內(nèi)剩盒,你將沒(méi)有時(shí)間寫(xiě)幾個(gè)重要的程序谷婆,并從成功和失敗中吸取教訓(xùn)。你將沒(méi)有時(shí)間和一個(gè)有經(jīng)驗(yàn)的程序員一起工作辽聊,并理解在 C++環(huán)境中編程會(huì)是什么樣子纪挎。簡(jiǎn)而言之,你將沒(méi)有時(shí)間去學(xué)習(xí)多少東西跟匆。所以這本書(shū)只能說(shuō)是膚淺的熟悉异袄,而不是深刻的理解。正如 Alexander Pope 所說(shuō)玛臂,只學(xué)會(huì)一點(diǎn)點(diǎn)點(diǎn)東西是危險(xiǎn)的

C++:在 24 小時(shí)內(nèi)烤蜕,你也許能夠?qū)W習(xí) C++的一些語(yǔ)法(前提是你已經(jīng)知道了另一種語(yǔ)言),但是你不能學(xué)到多少關(guān)于如何使用這門(mén)語(yǔ)言的知識(shí)迹冤。簡(jiǎn)而言之讽营,如果你是一個(gè)基層的程序員,你可以學(xué)習(xí)用 C++語(yǔ)法編寫(xiě) BASIC 程序泡徙,但是你不能學(xué)習(xí)到 C++真正的優(yōu)缺點(diǎn)橱鹏。那又有什么意義呢?Alan Perlis 曾經(jīng)說(shuō)過(guò):「一種不影響你編程思維方式的語(yǔ)言,是不值得學(xué)習(xí)的莉兰√粑В」有一種可能是,你必須學(xué)習(xí)一點(diǎn) C++(或者是 JavaScript 之類的東西)糖荒,因?yàn)槟阈枰矛F(xiàn)有的工具接口來(lái)完成特定的任務(wù)杉辙。但這種情況下,你不是在學(xué)習(xí)如何編程寂嘉,而是在學(xué)習(xí)如何完成這項(xiàng)任務(wù)奏瞬。

在 24 小時(shí)內(nèi):不幸的是枫绅,這根本不夠泉孩,正如下面所說(shuō)的那樣。

用十年時(shí)間自學(xué)編程

很多研究人員發(fā)現(xiàn)并淋,在各種領(lǐng)域要成為專家大約需要十年時(shí)間寓搬,這些領(lǐng)域包括國(guó)際象棋、音樂(lè)創(chuàng)作县耽、電報(bào)句喷、繪畫(huà)、鋼琴演奏兔毙、游泳唾琼、網(wǎng)球和科學(xué)研究、神經(jīng)心理學(xué)和拓?fù)鋵W(xué)等等澎剥。成功的關(guān)鍵是不斷的實(shí)踐:不只是一次又一次地做锡溯,而是每次都用一個(gè)超出你目前能力的任務(wù)挑戰(zhàn)你自己,嘗試去解決它哑姚,在做它的同時(shí)和之后分析你的表現(xiàn)祭饭,糾正錯(cuò)誤,然后重復(fù)這個(gè)循環(huán)叙量。人和事情都沒(méi)有真正的捷徑:即便對(duì)莫扎特來(lái)說(shuō)也是如此倡蝙。4 歲就被稱為音樂(lè)天才的他,在開(kāi)始創(chuàng)作世界級(jí)的音樂(lè)之前又花了 13 年時(shí)間來(lái)打磨自己绞佩。另一個(gè)例子是披頭士樂(lè)隊(duì)寺鸥。披頭士樂(lè)隊(duì)似乎以一系列的熱門(mén)歌曲和 1964 年在艾德沙利文秀上的亮相而一夜成名。但實(shí)際上自從 1957 年以來(lái)品山,他們一直在 Liverpool 和 Hamburg 的小酒吧里面演出析既,雖然很早以前他們就受到大眾的歡迎,但他們第一次取得重大成功的專輯「Sgt. Peppers」是在 1967 年發(fā)布的谆奥。

Malcolm Gladwell 已經(jīng)普及了這個(gè)想法眼坏,盡管他的觀點(diǎn)是 10000 小時(shí)專注的努力,而不是 10 年。Henri Cartier-Bresson (1908-2004) 有一句名言:「你的前 10000 張照片是你最差的作品宰译¢苎粒」(他沒(méi)有預(yù)料到使用數(shù)碼相機(jī),有些人可以在一周內(nèi)就拍完 10000 張照片沿侈。)真正成為專家可能需要一輩子:Samuel Johnson(1709-1784)說(shuō):「成為任何領(lǐng)域的卓越人士都需要畢生的努力闯第,投機(jī)取巧并不可行」。Chaucer (1340-1400) 抱怨說(shuō):「人生太短暫了缀拭,而知識(shí)是無(wú)窮的」咳短。Hippocrates (約公元前 400 年) 因?yàn)槟蔷涿浴竌rs longa, vita brevis」而被人稱頌,這句話的原文是「Ars longa, vita brevis, occasio praeceps, experimentum periculosum, iudicium difficile」蛛淋,意思是「生命很短暫咙好,但是技藝卻很高深,機(jī)遇轉(zhuǎn)瞬即逝褐荷,探索難以捉摸勾效,抉擇困難重重」。

當(dāng)然叛甫,沒(méi)有一個(gè)數(shù)字可以作為最終的答案层宫,假定所有的技能(如編程、下棋其监、跳棋和音樂(lè)演奏)都需要完全相同的時(shí)間來(lái)掌握萌腿,或者所有人都需要完全相同的時(shí)間是不合理的。正如 K. Anders Ericsson 教授所說(shuō)抖苦,「在大多數(shù)領(lǐng)域毁菱,即使是最有才華的人也需要很多時(shí)間才能達(dá)到最高水平,這是非常值得注意的睛约。10000 小時(shí)這個(gè)數(shù)字讓你感覺(jué)到鼎俘,我們說(shuō)的是一周 10 到 20 個(gè)小時(shí)”缋裕」

你想成為一名程序員

以下是我的編程秘訣:

對(duì)編程感興趣贸伐,因?yàn)榕d趣而編程。請(qǐng)保持足夠的興趣怔揩,以便你愿意投入你的 10 年或者 10000 小時(shí)捉邢。

編碼。最好的學(xué)習(xí)方式是實(shí)踐商膊。更嚴(yán)格地說(shuō)伏伐,「在特定領(lǐng)域中,一個(gè)人的最高水平不是由于經(jīng)驗(yàn)的積累自動(dòng)獲得的晕拆,而是經(jīng)過(guò)深思熟慮的改進(jìn)藐翎,經(jīng)驗(yàn)豐富的人也可以提高水平。」吝镣,「最有效的學(xué)習(xí)需要有一個(gè)明確的任務(wù)堤器,對(duì)特定的人來(lái)說(shuō)難度適中,還要有信息反饋以及重復(fù)試錯(cuò)和糾正錯(cuò)誤的機(jī)會(huì)末贾≌⒗#」「Cognition in Practice: Mind, Mathematics, and Culture in Everyday Life」這本書(shū)正是這一觀點(diǎn)的有趣參考。

與其他程序員交談拱撵;閱讀其他程序辉川。這比任何書(shū)籍或培訓(xùn)課程都重要。

如果你愿意拴测,可以在大學(xué)(或研究生院)呆四年乓旗。這將使你有機(jī)會(huì)獲得一份需要證書(shū)的工作,讓你對(duì)這個(gè)領(lǐng)域有更深的了解昼扛,但如果你不喜歡學(xué)校寸齐,你可以自學(xué)或在工作中獲得類似的經(jīng)驗(yàn)欲诺。無(wú)論如何抄谐,光靠書(shū)本知識(shí)是遠(yuǎn)遠(yuǎn)不夠的∪欧ǎ「The New Hacker's Dictionary」的作者 Eric Raymond 說(shuō):「計(jì)算機(jī)科學(xué)教育不能使任何人成為一個(gè)專業(yè)的程序員蛹含,就像學(xué)習(xí)刷子和顏料不可以使某人成為一個(gè)專業(yè)的畫(huà)家一樣∪洌」我雇用過(guò)的最好的程序員之一只有高中學(xué)歷浦箱,他開(kāi)發(fā)了許多優(yōu)秀的軟件,擁有自己的團(tuán)隊(duì)祠锣,并且擁有足夠買下一個(gè)夜店的股票期權(quán)酷窥。

與其他程序員一起做項(xiàng)目。在某些項(xiàng)目上你是最好的程序員伴网,而在某些項(xiàng)目上你是最差的程序員蓬推。當(dāng)你是最好的時(shí)候,你可以鍛煉主導(dǎo)一個(gè)項(xiàng)目的能力澡腾,并用你的遠(yuǎn)見(jiàn)激勵(lì)別人沸伏。當(dāng)你是最壞的時(shí)候,你可以學(xué)習(xí)大師們做什么动分,觀察他們不喜歡做什么(因?yàn)樗麄儠?huì)讓你為他們做自己不喜歡的事情)毅糟。

接手其他程序員的項(xiàng)目,理解別人寫(xiě)的程序澜公。當(dāng)原來(lái)的程序員不在時(shí)姆另,學(xué)習(xí)需要怎樣理解和修復(fù)程序。想想如何設(shè)計(jì)你的程序,讓那些在你之后的人維護(hù)它們更容易些迹辐。

學(xué)習(xí)至少六種編程語(yǔ)言苟蹈。包括一種強(qiáng)調(diào)類抽象的語(yǔ)言(如 Java 或 C++),它強(qiáng)調(diào)函數(shù)抽象的語(yǔ)言(如 Lisp 或 ML 或 Haskell)右核,一種支持句法抽象的語(yǔ)言(如 Lisp)慧脱,一種支持聲明性規(guī)范的語(yǔ)言(如 Prolog 或 C++模板),一種強(qiáng)調(diào)并發(fā)性的語(yǔ)言(像 Clojure 或 Go)贺喝。

記住「computer science」中有一個(gè)「computer」菱鸥。知道計(jì)算機(jī)執(zhí)行一條指令、從內(nèi)存中提取一個(gè)字符(有或沒(méi)有緩存)躏鱼、從磁盤(pán)中讀取連續(xù)的字符以及在磁盤(pán)上尋找新的位置需要多長(zhǎng)時(shí)間氮采。

參與語(yǔ)言標(biāo)準(zhǔn)化工作。它可能是 ANSI C++委員會(huì)染苛,也可以是決定你自己的本地編碼風(fēng)格是有 2 個(gè)或者 4 個(gè)空間縮進(jìn)鹊漠。無(wú)論哪種方式,你都可以了解到其他人對(duì)一種語(yǔ)言的喜好茶行,他們的感受有多深躯概,甚至可能了解他們的感受。

有很好的判斷力畔师,盡快適應(yīng)語(yǔ)言的標(biāo)準(zhǔn)化

考慮到這一切娶靡,僅僅通過(guò)書(shū)本學(xué)習(xí)你能走多遠(yuǎn)是個(gè)值得懷疑的問(wèn)題。在我的第一個(gè)孩子出生之前看锉,我讀完了所有的「How To」類型的書(shū)姿锭,但仍然覺(jué)得自己像個(gè)笨手笨腳的新手。30 個(gè)月后伯铣,當(dāng)我的第二個(gè)孩子出生時(shí)呻此,我重新學(xué)習(xí)了那些書(shū)本知識(shí)嗎?不腔寡,相反焚鲜,我依靠的是我的個(gè)人經(jīng)驗(yàn),這比專家們寫(xiě)的幾千頁(yè)書(shū)更有用蹬蚁,更讓我放心恃泪。

Fred Brooks 在他的論文《No Silver Bullet》中指出了尋找優(yōu)秀軟件設(shè)計(jì)師的三個(gè)步驟:

盡早系統(tǒng)地發(fā)掘頂級(jí)程序員。

指派一名職業(yè)導(dǎo)師負(fù)責(zé)指導(dǎo)他犀斋,并謹(jǐn)慎對(duì)待履歷贝乎。

為成長(zhǎng)中的程序員提供相互交流和互相激勵(lì)的機(jī)會(huì)。

這假設(shè)一些人已經(jīng)具備成為一個(gè)偉大的程序師所必需的素質(zhì)叽粹,那么你的工作就是適當(dāng)?shù)睾弪_他們览效。Alan Perlis 的說(shuō)法更加簡(jiǎn)潔:「每個(gè)人都可以學(xué)會(huì)雕刻却舀,但 Michelangelo 必須學(xué)會(huì)如何不雕刻。對(duì)偉大的程序員來(lái)說(shuō)也是如此锤灿⊥彀危」Perlis 認(rèn)為,偉人有一些超越訓(xùn)練的內(nèi)在品質(zhì)但校。但是這些品質(zhì)是從哪里來(lái)的呢螃诅?是先天的嗎?或者他們是通過(guò)勤奮養(yǎng)成的状囱?正如 Auguste Gusteau 所說(shuō):「任何人都能學(xué)會(huì)做飯术裸,但只有無(wú)畏的人才是偉大的⊥ぜ希」我認(rèn)為這更像是愿意將一生中大部分時(shí)間投入到某種實(shí)踐中袭艺,但也許無(wú)畏是總結(jié)這一點(diǎn)的一種方式∵墩常或者猾编,正如 Gusteau 的批評(píng)家 Anton Ego 所說(shuō):「不是每個(gè)人都能成為偉大的藝術(shù)家,但偉大的藝術(shù)家可以來(lái)自任何地方升敲〈鸪」

所以繼續(xù)購(gòu)買 Java/Ruby /JavaScript /PHP 書(shū)籍吧,你可能會(huì)從中得到一些有用的東西冻晤。但是它們不會(huì)在 24 小時(shí)或 21 天內(nèi)改變你的生活苇羡,也不會(huì)教會(huì)你作為一個(gè)程序員所需要的所有專業(yè)知識(shí)绸吸。何不努力工作鼻弧,在接下來(lái)的 24 個(gè)月內(nèi)不斷改進(jìn)?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末锦茁,一起剝皮案震驚了整個(gè)濱河市攘轩,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌码俩,老刑警劉巖度帮,帶你破解...
    沈念sama閱讀 222,807評(píng)論 6 518
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異稿存,居然都是意外死亡笨篷,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,284評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén)瓣履,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)率翅,“玉大人,你說(shuō)我怎么就攤上這事袖迎∶岢簦” “怎么了腺晾?”我有些...
    開(kāi)封第一講書(shū)人閱讀 169,589評(píng)論 0 363
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)辜贵。 經(jīng)常有香客問(wèn)我悯蝉,道長(zhǎng),這世上最難降的妖魔是什么托慨? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 60,188評(píng)論 1 300
  • 正文 為了忘掉前任鼻由,我火速辦了婚禮,結(jié)果婚禮上厚棵,老公的妹妹穿的比我還像新娘嗡靡。我一直安慰自己,他們只是感情好窟感,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,185評(píng)論 6 398
  • 文/花漫 我一把揭開(kāi)白布讨彼。 她就那樣靜靜地躺著,像睡著了一般柿祈。 火紅的嫁衣襯著肌膚如雪哈误。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 52,785評(píng)論 1 314
  • 那天躏嚎,我揣著相機(jī)與錄音蜜自,去河邊找鬼。 笑死卢佣,一個(gè)胖子當(dāng)著我的面吹牛重荠,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播虚茶,決...
    沈念sama閱讀 41,220評(píng)論 3 423
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼戈鲁,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了嘹叫?” 一聲冷哼從身側(cè)響起婆殿,我...
    開(kāi)封第一講書(shū)人閱讀 40,167評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎罩扇,沒(méi)想到半個(gè)月后婆芦,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,698評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡喂饥,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,767評(píng)論 3 343
  • 正文 我和宋清朗相戀三年消约,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片员帮。...
    茶點(diǎn)故事閱讀 40,912評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡或粮,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出集侯,到底是詐尸還是另有隱情被啼,我是刑警寧澤帜消,帶...
    沈念sama閱讀 36,572評(píng)論 5 351
  • 正文 年R本政府宣布,位于F島的核電站浓体,受9級(jí)特大地震影響泡挺,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜命浴,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,254評(píng)論 3 336
  • 文/蒙蒙 一娄猫、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧生闲,春花似錦媳溺、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,746評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至捉兴,卻和暖如春蝎困,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背倍啥。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,859評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工禾乘, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人虽缕。 一個(gè)月前我還...
    沈念sama閱讀 49,359評(píng)論 3 379
  • 正文 我出身青樓始藕,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親氮趋。 傳聞我的和親對(duì)象是個(gè)殘疾皇子伍派,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,922評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容