十年自學(xué)編程

十年內(nèi)自學(xué)編程

研究者(Bloom(1985)忍坷、Bryan & Harter(1899)蹲堂、Hayes(1989)凉驻、Simmon & Chase(1973))都表明,在下棋艳丛、音樂創(chuàng)作匣掸、電報(bào)操作趟紊、繪畫、彈鋼琴碰酝、游泳霎匈、網(wǎng)球以及神經(jīng)心理學(xué)和拓?fù)鋵W(xué)研究等眾多領(lǐng)域中的任何一個(gè)領(lǐng)域,都需要大約10年的時(shí)間來發(fā)展專業(yè)知識(shí)送爸。關(guān)鍵是刻意練習(xí):不是一味地重復(fù)做铛嘱,而是用一個(gè)剛好超出你目前能力的任務(wù)來挑戰(zhàn)自己,嘗試一下袭厂,在做的時(shí)候和做完之后分析自己的表現(xiàn)墨吓,并糾正任何錯(cuò)誤。然后再重復(fù)纹磺。然后再重復(fù)帖烘。似乎沒有真正的捷徑:即使是4歲就成為音樂神童的莫扎特,也花了13年時(shí)間才開始創(chuàng)作出世界級(jí)的音樂橄杨。在另一種類型中秘症,披頭士樂隊(duì)似乎是憑借一連串的#1熱門歌曲和1964年在埃德-沙利文節(jié)目中的亮相而嶄露頭角的。但自1957年以來式矫,他們一直在利物浦和漢堡的小俱樂部演出乡摹,雖然他們?cè)缙诰哂写蟊娢Γ麄兊牡谝粋€(gè)巨大的評(píng)論成功衷佃,Sgt.Peppers趟卸,于1967年發(fā)布。

馬爾科姆-格拉德威爾(Malcolm Gladwell)已經(jīng)普及了這個(gè)想法氏义,盡管他專注于10000小時(shí)锄列,而不是10年。亨利-卡蒂爾-布列松(1908-2004)有另一個(gè)衡量標(biāo)準(zhǔn):"你的前一萬張照片是你最糟糕的作品"惯悠。他沒有預(yù)料到邻邮,用數(shù)碼相機(jī),有些人可以在一周內(nèi)達(dá)到這個(gè)大關(guān))克婶。真正的專業(yè)技能可能需要一生的時(shí)間筒严。塞繆爾-約翰遜(1709-1784)說過 "任何部門的卓越只有通過一生的努力才能達(dá)到,它是不可能用較低的價(jià)格買到的情萤。" 而喬叟(1340-1400)抱怨 "lyf so short鸭蛙,the craft so long to lerne"。希波克拉底(Hippocrates筋岛,約公元前400年)以節(jié)選 "Ars longa娶视,vita brevis "著稱,這是較長引文 "Ars longa,vita brevis肪获,occasionio praeceps寝凌,experimentum periculosum,iudicium difficile "的一部分孝赫,英文譯為 "Life is short较木,[the]craft long,opportunity fleeting青柄,experiment treacherous伐债,judge difficult"。當(dāng)然刹前,沒有一個(gè)單一的數(shù)字可以作為最終的答案:假設(shè)所有的技能(如編程泳赋、下棋雌桑、下跳棋和音樂演奏)都可能需要完全相同的時(shí)間來掌握喇喉,也假設(shè)所有的人都需要完全相同的時(shí)間,這似乎并不合理校坑。正如安德斯-愛立信教授所說:"在大多數(shù)領(lǐng)域拣技,即使是最有天賦的人也需要多少時(shí)間才能達(dá)到最高水平的表現(xiàn)。1萬小時(shí)這個(gè)數(shù)字只是讓你感覺到耍目,我們說的是每周10到20個(gè)小時(shí)的年限膏斤,而那些有些人認(rèn)為是最有天分的人仍然需要這樣的時(shí)間才能達(dá)到最高水平。

為什么大家都這么著急邪驮?

走進(jìn)任何一家書店莫辨,你都會(huì)看到《24小時(shí)內(nèi)自學(xué)Java》,旁邊還有無窮無盡的變種毅访,提供在幾天或幾個(gè)小時(shí)內(nèi)教授C沮榜、SQL、Ruby喻粹、算法等蟆融。亞馬遜高級(jí)搜索【標(biāo)題:教,自己守呜,小時(shí)型酥,自:2000年以來,發(fā)現(xiàn)512本這樣的書查乒。前十名中弥喉,有9本是編程類書籍(另一本是關(guān)于記賬的)。把 "教自己 "換成 "學(xué)"玛迄,或者把 "小時(shí) "換成 "天"由境,也有類似的結(jié)果。

結(jié)論是憔晒,要么是人們大肆學(xué)習(xí)編程藻肄,要么是編程在某種程度上比其他東西更容易學(xué)得美妙蔑舞。Felleisen等人在他們的《如何設(shè)計(jì)程序》一書中對(duì)這一趨勢進(jìn)行了點(diǎn)撥,他們說:"糟糕的編程很容易嘹屯。白癡可以在21天內(nèi)學(xué)會(huì)它攻询,即使他們是傻瓜。" Abtruse Goose的漫畫也有他們的看法州弟。

所以你想成為一名程序員


這是我的編程成功秘訣:

\bullet 對(duì)編程感興趣钧栖,因?yàn)楹猛妫砸鲆恍┢畔琛4_保它一直足夠有趣拯杠,這樣你才會(huì)愿意投入你的十年/10000小時(shí)。

\bullet 程序啃奴。最好的學(xué)習(xí)是在實(shí)踐中學(xué)習(xí)潭陪。更技術(shù)化地講,"個(gè)人在某一領(lǐng)域中的最大表現(xiàn)水平并不是作為長期經(jīng)驗(yàn)的函數(shù)而自動(dòng)達(dá)到的最蕾,但即使是經(jīng)驗(yàn)豐富的個(gè)人依溯,也可以通過刻意努力提高表現(xiàn)水平"。(第366頁)而 "最有效的學(xué)習(xí)需要有一個(gè)明確的任務(wù)瘟则,對(duì)特定個(gè)體來說有適當(dāng)?shù)碾y度黎炉,有信息反饋,有重復(fù)和糾正錯(cuò)誤的機(jī)會(huì)"醋拧。(第20-21頁)《實(shí)踐中的認(rèn)知》一書慷嗜。"(第20-21頁)《實(shí)踐中的認(rèn)知:日常生活中的心智、數(shù)學(xué)和文化》一書是這一觀點(diǎn)的有趣參考丹壕。

\bullet 與其他程序員交流庆械;閱讀其他程序。這比任何書籍或培訓(xùn)課程都重要雀费。

\bullet 如果你愿意干奢,在大學(xué)里投入四年的時(shí)間(或者在研究生院里投入更多)。這將使你有機(jī)會(huì)從事一些需要證書的工作盏袄,而且會(huì)使你對(duì)這個(gè)領(lǐng)域有更深的了解忿峻,但如果你不喜歡上學(xué),你可以(在有一定的奉獻(xiàn)精神的情況下)自己或在工作中獲得類似的經(jīng)驗(yàn)辕羽。無論如何逛尚,僅靠書本學(xué)習(xí)是不夠的。新黑客詞典》的作者埃里克-雷蒙德(Eric Raymond)說:"計(jì)算機(jī)科學(xué)教育不能使任何人成為程序員專家刁愿,就像學(xué)習(xí)毛筆和顏料可以使某人成為畫家專家一樣"绰寞。我曾經(jīng)雇傭過的一個(gè)最好的程序員只有高中學(xué)歷,他制作了很多優(yōu)秀的軟件,擁有自己的新聞集團(tuán)滤钱,股票期權(quán)賺得足夠買下自己的夜總會(huì)觉壶。

\bullet 與其他程序員一起做項(xiàng)目。在一些項(xiàng)目上成為最好的程序員件缸,在另一些項(xiàng)目上成為最差的程序員铜靶。當(dāng)你是最好的,你可以檢驗(yàn)?zāi)泐I(lǐng)導(dǎo)項(xiàng)目的能力他炊,并以你的眼光激勵(lì)他人争剿。當(dāng)你是最差的時(shí)候,你可以學(xué)習(xí)高手們做的事情痊末,也可以學(xué)習(xí)他們不喜歡做的事情(因?yàn)樗麄冏屇銥樗麄冏觯?/h4>

\bullet ?跟著其他程序員做項(xiàng)目蚕苇。理解別人寫的程序。當(dāng)原來的程序員不在的時(shí)候凿叠,看看要怎么理解和修復(fù)它涩笤。思考如何設(shè)計(jì)你的程序,讓你之后維護(hù)程序的人更輕松幔嫂。

\bullet 至少學(xué)習(xí)半打編程語言辆它。包括一門強(qiáng)調(diào)類抽象的語言(如Java或C++)誊薄,一門強(qiáng)調(diào)功能抽象的語言(如Lisp或ML或Haskell)履恩,一門支持語法抽象的語言(如Lisp),一門支持聲明式規(guī)范的語言(如Prolog或C++模板)呢蔫,一門強(qiáng)調(diào)并行的語言(如Clojure或Go)切心。

\bullet 記住,"計(jì)算機(jī)科學(xué) "中有個(gè) "計(jì)算機(jī)"片吊。知道你的計(jì)算機(jī)執(zhí)行一條指令绽昏、從內(nèi)存中取一個(gè)字(有和沒有緩存遺漏)、從磁盤中連續(xù)讀取字俏脊、尋找到磁盤上的新位置需要多長時(shí)間全谤。(答案在此。)

\bullet 參與語言標(biāo)準(zhǔn)化工作爷贫∪先唬可能是ANSI C++委員會(huì),也可能是決定你的本地編碼風(fēng)格是采用2個(gè)還是4個(gè)空格縮進(jìn)級(jí)別漫萄。不管是哪種方式卷员,你都能了解到其他人喜歡的語言是什么,他們有多深的感受腾务,甚至可能會(huì)了解到他們?yōu)槭裁磿?huì)有這樣的感受毕骡。

\bullet 要有良好的意識(shí),盡快擺脫語言標(biāo)準(zhǔn)化工作。


考慮到這些未巫,其僅靠書本學(xué)習(xí)能走多遠(yuǎn)窿撬,值得商榷。在第一個(gè)孩子出生前叙凡,我把所有的How To書都看了一遍尤仍,但還是覺得自己是個(gè)毫無頭緒的新手。30個(gè)月后狭姨,當(dāng)我的第二個(gè)孩子即將出生時(shí)宰啦,我又回到書本上復(fù)習(xí)了嗎?相反饼拍,我依靠自己的親身經(jīng)歷赡模,這比專家們寫的幾千頁書更有用,也更讓我放心师抄。


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

1.盡早系統(tǒng)地識(shí)別頂級(jí)設(shè)計(jì)師漓柑。

2.指派一名職業(yè)導(dǎo)師負(fù)責(zé)對(duì)潛在客戶的培養(yǎng),并認(rèn)真保存職業(yè)檔案叨吮。

3.為成長中的設(shè)計(jì)師提供相互交流辆布、相互激勵(lì)的機(jī)會(huì)


這就假設(shè)有些人已經(jīng)具備了成為一名優(yōu)秀設(shè)計(jì)師的必備素質(zhì),工作就是要適當(dāng)?shù)卣T導(dǎo)他們茶鉴。Alan Perlis說得更簡潔锋玲。"每個(gè)人都可以被教成雕塑家 米開朗基羅就得教他如何不雕刻。偉大的程序員也是如此"涵叮。Perlis的意思是說惭蹂,偉大的人都有一些超越他們訓(xùn)練的內(nèi)在品質(zhì)。但這種品質(zhì)從何而來割粮?是與生俱來的嗎盾碗?還是他們通過勤奮培養(yǎng)出來的?正如Auguste Gusteau(《料理鼠王》中虛構(gòu)的廚師)所說舀瓢,"任何人都可以做飯廷雅,但只有無畏者才能成為偉大的人"。我認(rèn)為更多的是愿意將自己生命中的大部分時(shí)間投入到刻意的實(shí)踐中京髓。但也許無畏是一種概括的方式航缀。或者朵锣,正如食神的批評(píng)家安東-埃戈所說:"不是每個(gè)人都能成為偉大的藝術(shù)家谬盐,但偉大的藝術(shù)家可以來自任何地方。"

所以去買那本Java/Ruby/Javascript/PHP的書吧诚些;你可能會(huì)從中得到一些用處飞傀。但你不會(huì)在24小時(shí)或21天內(nèi)改變你的生活皇型,也不會(huì)改變你作為一個(gè)程序員的真正的整體專業(yè)知識(shí)。怎么樣在24個(gè)月內(nèi)努力地不斷提高呢砸烦?好了弃鸦,現(xiàn)在你開始有收獲了......

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
禁止轉(zhuǎn)載,如需轉(zhuǎn)載請(qǐng)通過簡信或評(píng)論聯(lián)系作者幢痘。
  • 序言:七十年代末唬格,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子颜说,更是在濱河造成了極大的恐慌购岗,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,997評(píng)論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件门粪,死亡現(xiàn)場離奇詭異喊积,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)玄妈,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,603評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門乾吻,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人拟蜻,你說我怎么就攤上這事绎签。” “怎么了酝锅?”我有些...
    開封第一講書人閱讀 163,359評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵诡必,是天一觀的道長。 經(jīng)常有香客問我屈张,道長擒权,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,309評(píng)論 1 292
  • 正文 為了忘掉前任阁谆,我火速辦了婚禮,結(jié)果婚禮上愉老,老公的妹妹穿的比我還像新娘场绿。我一直安慰自己,他們只是感情好嫉入,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,346評(píng)論 6 390
  • 文/花漫 我一把揭開白布焰盗。 她就那樣靜靜地躺著,像睡著了一般咒林。 火紅的嫁衣襯著肌膚如雪熬拒。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,258評(píng)論 1 300
  • 那天垫竞,我揣著相機(jī)與錄音澎粟,去河邊找鬼蛀序。 笑死,一個(gè)胖子當(dāng)著我的面吹牛活烙,可吹牛的內(nèi)容都是我干的徐裸。 我是一名探鬼主播,決...
    沈念sama閱讀 40,122評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼啸盏,長吁一口氣:“原來是場噩夢啊……” “哼重贺!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起回懦,我...
    開封第一講書人閱讀 38,970評(píng)論 0 275
  • 序言:老撾萬榮一對(duì)情侶失蹤气笙,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后怯晕,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體健民,經(jīng)...
    沈念sama閱讀 45,403評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,596評(píng)論 3 334
  • 正文 我和宋清朗相戀三年贫贝,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了秉犹。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,769評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡稚晚,死狀恐怖崇堵,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情客燕,我是刑警寧澤鸳劳,帶...
    沈念sama閱讀 35,464評(píng)論 5 344
  • 正文 年R本政府宣布,位于F島的核電站也搓,受9級(jí)特大地震影響赏廓,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜傍妒,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,075評(píng)論 3 327
  • 文/蒙蒙 一幔摸、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧颤练,春花似錦既忆、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,705評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至宇挫,卻和暖如春苛吱,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背器瘪。 一陣腳步聲響...
    開封第一講書人閱讀 32,848評(píng)論 1 269
  • 我被黑心中介騙來泰國打工翠储, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留绘雁,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,831評(píng)論 2 370
  • 正文 我出身青樓彰亥,卻偏偏與公主長得像咧七,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子任斋,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,678評(píng)論 2 354

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

  • 為什么每個(gè)人都這么著急继阻? 走進(jìn)任何書店,您將看到如何在24小時(shí)內(nèi)自學(xué)Java废酷,以及無窮無盡的變體瘟檩,可以在幾天或幾小...
    wangxiaolong閱讀 290評(píng)論 0 1
  • 彼得·諾維格 為什么大家都這么著急? 走進(jìn)任何一家書店澈蟆,你就會(huì)知道怎么做24小時(shí)自學(xué)爪哇除了無止境的變化之外墨辛,還提...
    沐柯_b26a閱讀 235評(píng)論 0 0
  • 彼得·諾維格 為什么大家都這么著急? 走進(jìn)任何一家書店趴俘,你就會(huì)知道怎么做24小時(shí)自學(xué)爪哇除了無止境的變化之外睹簇,...
    清風(fēng)A1閱讀 178評(píng)論 0 1
  • Teach Yourself Programming in Ten Years Peter Norvig Why ...
    徐金威閱讀 291評(píng)論 0 1
  • 作者:彼得·諾維格 為什么大家都這么著急? 走進(jìn)任何一家書店寥闪,你就會(huì)看到教自己Java24小時(shí)內(nèi)除了提供無窮無盡的...
    NikT閱讀 265評(píng)論 0 1