青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

C++博客 聯(lián)系 聚合 管理  

Blog Stats

文章分類

隨筆檔案

文章檔案

Albert.W的窩兒

10年編程無師自通

出處:Teach Yourself Programming in Ten Years ,Peter Norvig 郭曉剛翻譯

 

為什么每個人都急不可耐? 

走進(jìn)任何一家書店,你會看見《Teach Yourself Java in 7 Days》(7天Java無師自通)的旁邊是一長排看不到盡頭的類似書籍,它們要教會你Visual Basic、Windows、Internet等等,而只需要幾天甚至幾小時。我在Amazon.com上進(jìn)行了如下搜索: 
    pubdate: after 1992 and title: days and (title: learn or title: teach yourself) 
    (出版日期:1992年后 and 書名:天 and (書名:學(xué)會 or 書名:無師自通)) 
我一共得到了248個搜索結(jié)果。前面的78個是計算機(jī)書籍(第79個是《Learn Bengali in 30 days》,30天學(xué)會孟加拉語)。我把關(guān)鍵詞“days”換成“hours”,得到了非常相似的結(jié)果:這次有253本書,頭77本是計算機(jī)書籍,第78 本是《Teach Yourself Grammar and Style in 24 Hours》(24小時學(xué)會文法和文體)。頭200本書中,有96%是計算機(jī)書籍。 
結(jié)論是,要么是人們非常急于學(xué)會計算機(jī),要么就是不知道為什么計算機(jī)驚人地簡單,比任何東西都容易學(xué)會。沒有一本書是要在幾天里教會人們貝多芬或者量子物理學(xué),甚至怎樣幫狗打扮。 
讓我們來分析一下像《Learn Pascal in Three Days》(3天學(xué)會Pascal)這樣的題目到底是什么意思: 

 

學(xué)會:在3天時間里,你不夠時間寫一些有意義的程序,并從它們的失敗與成功中學(xué)習(xí)。你不夠時間跟一些有經(jīng)驗的程序員一起工作,你不會知道在那樣的環(huán)境中是什么滋味。簡而言之,沒有足夠的時間讓你學(xué)到很多東西。所以這些書談?wù)摰闹皇潜砻嫔系木ǎ巧钊氲睦斫狻H鏏lexander Pope(英國詩人、作家,1688-1744)所言,一知半解是危險的(a little learning is a dangerous thing) 

Pascal:在3天時間里你可以學(xué)會Pascal的語法(如果你已經(jīng)會一門類似的語言),但你無法學(xué)到多少如何運用這些語法。簡而言之,如果你是,比如說一個Basic程序員,你可以學(xué)會用Pascal語法寫出Basic風(fēng)格的程序,但你學(xué)不到Pascal真正的優(yōu)點(和缺點)。那關(guān)鍵在哪里? Alan Perlis(ACM第一任主席,圖靈獎得主,1922-1990)曾經(jīng)說過:“如果一門語言不能影響你對編程的想法,那它就不值得去學(xué)”。另一種觀點是,有時候你不得不學(xué)一點Pascal(更可能是Visual Basic和javascript之類)的皮毛,因為你需要接觸現(xiàn)有的工具,用來完成特定的任務(wù)。但此時你不是在學(xué)習(xí)如何編程,你是在學(xué)習(xí)如何完成任務(wù)。 

3天:不幸的是,這是不夠的,正如下一節(jié)所言。 

 

 

10年編程無師自通 

一些研究者(Hayes、Bloom)的研究表明,在許多領(lǐng)域,都需要大約10 年時間才能培養(yǎng)出專業(yè)技能,包括國際象棋、作曲、繪畫、鋼琴、游泳、網(wǎng)球,以及神經(jīng)心理學(xué)和拓?fù)鋵W(xué)的研究。似乎并不存在真正的捷徑:即使是莫扎特,他4 歲就顯露出音樂天才,在他寫出世界級的音樂之前仍然用了超過13年時間。再看另一種音樂類型的披頭士,他們似乎是在1964年的Ed Sullivan節(jié)目中突然冒頭的。但其實他們從1957年就開始表演了,即使他們很早就顯示出了巨大的吸引力,他們第一次真正的成功——Sgt. Peppers——也要到1967年才發(fā)行。Samuel Johnson(英國詩人)認(rèn)為10 年還是不夠的:“任何領(lǐng)域的卓越成就都只能通過一生的努力來獲得;稍低一點的代價也換不來。”(Excellence in any department can be attained only by the labor of a lifetime; it is not to be purchased at a lesser price.)喬叟(Chaucer,英國詩人,1340-1400)也抱怨說:“生命如此短暫,掌握技藝卻要如此長久。”(the lyf so short, the craft so long to lerne.) 
下面是我在編程這個行當(dāng)里獲得成功的處方: 

 

對編程感興趣,因為樂趣而去編程。確定始終都能保持足夠的樂趣,以致你能夠?qū)?0年時間投入其中。 

跟其他程序員交談;閱讀其他程序。這比任何書籍或訓(xùn)練課程都更重要。 

編程。最好的學(xué)習(xí)是從實踐中學(xué)習(xí)。用更加技術(shù)性的語言來講,“個體在特定領(lǐng)域最高水平的表現(xiàn)不是作為長期的經(jīng)驗的結(jié)果而自動獲得的,但即使是非常富有經(jīng)驗的個體也可以通過刻意的努力而提高其表現(xiàn)水平。”(p. 366),而且“最有效的學(xué)習(xí)要求為特定個體制定適當(dāng)難度的任務(wù),有意義的反饋,以及重復(fù)及改正錯誤的機(jī)會。”(p. 20-21)《Cognition in Practice: Mind, Mathematics, and Culture in Everyday Life》(在實踐中認(rèn)知:心智、數(shù)學(xué)和日常生活的文化)是關(guān)于這個觀點的一本有趣的參考書。 

如果你愿意,在大學(xué)里花上4年時間(或者再花幾年讀研究生)。這能讓你獲得一些工作的入門資格,還能讓你對此領(lǐng)域有更深入的理解,但如果你不喜歡進(jìn)學(xué)校,(作出一點犧牲)你在工作中也同樣能獲得類似的經(jīng)驗。在任何情況下,單從書本上學(xué)習(xí)都是不夠的。“計算機(jī)科學(xué)的教育不會讓任何人成為內(nèi)行的程序員,正如研究畫筆和顏料不會讓任何人成為內(nèi)行的畫家”, Eric Raymond,《The New Hackers Dictionary》(新黑客字典)的作者如是說。我曾經(jīng)雇用過的最優(yōu)秀的程序員之一僅有高中學(xué)歷;但他創(chuàng)造出了許多偉大的軟件,甚至有討論他本人的新聞組,而且股票期權(quán)讓他達(dá)到我無法企及的富有程度(譯注:指Jamie Zawinski,Xemacs和Netscape的作者)。 

跟別的程序員一起完成項目。在一些項目中成為最好的程序員;在其他一些項目中當(dāng)最差的一個。當(dāng)你是最好的程序員時,你要測試自己領(lǐng)導(dǎo)項目的能力,并通過你的洞見鼓舞其他人。當(dāng)你是最差的時候,你學(xué)習(xí)高手們在做些什么,以及他們不喜歡做什么(因為他們讓你幫他們做那些事)。 

接手別的程序員完成項目。用心理解別人編寫的程序。看看在沒有最初的程序員在場的時候理解和修改程序需要些什么。想一想怎樣設(shè)計你的程序才能讓別人接手維護(hù)你的程序時更容易一些。 

學(xué)會至少半打編程語言。包括一門支持類抽象(class abstraction)的語言(如Java或C++),一門支持函數(shù)抽象(functional abstraction)的語言(如Lisp或ML),一門支持句法抽象(syntactic abstraction)的語言(如Lisp),一門支持說明性規(guī)約(declarative specification)的語言(如Prolog或C++模版),一門支持協(xié)程(coroutine)的語言(如Icon或Scheme),以及一門支持并行處理(parallelism)的語言(如Sisal)。 

記住在“計算機(jī)科學(xué)”這個詞組里包含“計算機(jī)”這個詞。了解你的計算機(jī)執(zhí)行一條指令要多長時間,從內(nèi)存中取一個word要多長時間(包括緩存命中和未命中的情況),從磁盤上讀取連續(xù)的數(shù)據(jù)要多長時間,定位到磁盤上的新位置又要多長時間。(答案在這里。) 

嘗試參與到一項語言標(biāo)準(zhǔn)化工作中。可以是ANSI C++委員會,也可以是決定自己團(tuán)隊的編碼風(fēng)格到底采用2個空格的縮進(jìn)還是4個。不論是哪一種,你都可以學(xué)到在這門語言中到底人們喜歡些什么,他們有多喜歡,甚至有可能稍微了解為什么他們會有這樣的感覺。 

擁有盡快從語言標(biāo)準(zhǔn)化工作中抽身的良好判斷力。 


抱著這些想法,我很懷疑從書上到底能學(xué)到多少東西。在我第一個孩子出生前,我讀完了所有“怎樣……”的書,卻仍然感到自己是個茫無頭緒的新手。 30個月后,我第二個孩子出生的時候,我重新拿起那些書來復(fù)習(xí)了嗎?不。相反,我依靠我自己的經(jīng)驗,結(jié)果比專家寫的幾千頁東西更有用更靠得住。 
Fred Brooks在他的短文《No Silver Bullets》(沒有銀彈)中確立了如何發(fā)現(xiàn)杰出的軟件設(shè)計者的三步規(guī)劃: 

 

盡早系統(tǒng)地識別出最好的設(shè)計者群體。 

指派一個事業(yè)上的導(dǎo)師負(fù)責(zé)有潛質(zhì)的對象的發(fā)展,小心地幫他保持職業(yè)生涯的履歷。 

讓成長中的設(shè)計師們有機(jī)會互相影響,互相激勵。 


這實際上是假定了有些人本身就具有成為杰出設(shè)計師的必要潛質(zhì);要做的只是引導(dǎo)他們前進(jìn)。Alan Perlis說得更簡潔:“每個人都可以被教授如何雕塑;而對米開朗基羅來說,能教給他的倒是怎樣能夠不去雕塑。杰出的程序員也一樣”。 
所以盡管去買那些Java書;你很可能會從中找到些用處。但你的生活,或者你作為程序員的真正的專業(yè)技術(shù),并不會因此在24小時、24天甚至24個月內(nèi)發(fā)生真正的變化。 

 

參考文獻(xiàn) 

Bloom, Benjamin (ed.) Developing Talent in Young People, Ballantine, 1985. 
Brooks, Fred, No Silver Bullets, IEEE Computer, vol. 20, no. 4, 1987, p. 10-19. 
Hayes, John R., Complete Problem Solver, Lawrence Erlbaum, 1989. 
Lave, Jean, Cognition in Practice: Mind, Mathematics, and Culture in Everyday Life, Cambridge University Press, 1988. 

 

答案 

各種操作的計時,2001年夏天在一臺典型的1GHz PC上完成: 
    執(zhí)行單條指令            1 納秒 = (1/1,000,000,000) 秒 
    從L1緩存中取一個word        2 納秒 
    從主內(nèi)存中取一個word        10 納秒 
    從連續(xù)的磁盤位置中取一個word    200 納秒 
    從新的磁盤位置中取一個word(尋址) 8,000,000納秒 = 8毫秒

posted on 2007-04-12 20:28 Albert 閱讀(1748) 評論(5)  編輯 收藏 引用

評論

# re: 10年編程無師自通 2007-04-12 22:02 happia
原文鏈接 http://norvig.com/21-days.html  回復(fù)  更多評論
  

# re: 10年編程無師自通 2007-04-12 22:20 CPPer
happia:
thanks!  回復(fù)  更多評論
  

# re: 10年編程無師自通 2007-04-13 12:16 深藍(lán)色的音符
我現(xiàn)在正在讀大學(xué),學(xué)習(xí)的是網(wǎng)絡(luò)技術(shù),現(xiàn)在在學(xué)編程.
看了你寫的這篇文章,深有感觸!
謝謝!
受益良多!  回復(fù)  更多評論
  

# re: 10年編程無師自通 2007-04-13 12:49 FreePlus
子曾經(jīng)曰:10年磨一劍1  回復(fù)  更多評論
  

# re: 10年編程無師自通 2007-04-14 10:12 wlcsw
謝謝....看了才知道自己的心太急了....努力..  回復(fù)  更多評論
  


只有注冊用戶登錄后才能發(fā)表評論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲高清毛片| 国内精品美女在线观看| 亚洲乱码国产乱码精品精| 麻豆视频一区二区| 免费在线一区二区| 亚洲国产日韩欧美在线图片| 欧美丰满少妇xxxbbb| 亚洲国产第一| 一级成人国产| 欧美一区二区精品在线| 久久人人九九| 欧美日韩一区国产| 国产精品尤物福利片在线观看| 国产精品一区二区你懂得 | 亚洲自拍偷拍网址| 亚洲欧美精品一区| 久久久精品动漫| 亚洲成人直播| 亚洲午夜精品| 久久综合伊人77777麻豆| 欧美女同在线视频| 国产午夜精品久久久久久免费视| 亚洲国产免费看| 亚洲综合激情| 亚洲国产成人av在线| 亚洲女人小视频在线观看| 久久中文精品| 国产精品一区二区视频| 亚洲丰满少妇videoshd| 亚洲在线成人精品| 亚洲国产高清自拍| 欧美影院视频| 国产精品二区在线| 亚洲开发第一视频在线播放| 久久成人免费电影| 99国内精品久久久久久久软件| 久久精品夜色噜噜亚洲aⅴ| 欧美视频在线免费看| 亚洲国产精品久久久久婷婷老年| 亚洲综合导航| 亚洲美女av黄| 欧美激情在线观看| 亚洲国产国产亚洲一二三| 性18欧美另类| 一本久久知道综合久久| 免费久久99精品国产自在现线| 国产乱码精品一区二区三区av| 艳女tv在线观看国产一区| 男女精品网站| 久久久99免费视频| 亚洲免费伊人电影在线观看av| 久久国产精品99精品国产| 久久久噜噜噜久久| 国产精品九九久久久久久久| 亚洲人www| 欧美激情在线| 欧美激情视频一区二区三区免费 | 一本久道久久综合中文字幕| 久久人人超碰| 国模叶桐国产精品一区| 亚洲欧美综合一区| 亚洲午夜成aⅴ人片| 欧美性大战xxxxx久久久| 洋洋av久久久久久久一区| 亚洲国产一二三| 美玉足脚交一区二区三区图片| 国产伦精品一区二区三区高清| 亚洲嫩草精品久久| 亚洲小说欧美另类婷婷| 国产精品午夜视频| 久久精品女人天堂| 久久久精品网| 亚洲国产一区二区三区高清 | 日韩视频免费观看| 欧美激情一区二区三区在线| 美国成人直播| 9l视频自拍蝌蚪9l视频成人| 亚洲美女中出| 亚洲欧美日韩中文视频| 久久久噜噜噜久久人人看| 亚洲欧美清纯在线制服| 美女精品视频一区| 麻豆乱码国产一区二区三区| 亚洲国产色一区| 亚洲六月丁香色婷婷综合久久| 国产精品久久久久99| 久久国产精品网站| 久久视频这里只有精品| 亚洲美女精品成人在线视频| av成人动漫| 国产一区二区三区精品久久久| 麻豆成人综合网| 欧美日韩国产大片| 久久精品综合一区| 欧美成人一品| 欧美一区网站| 欧美肥婆在线| 亚洲免费观看视频| 国产一区二区三区在线免费观看| 欧美电影在线播放| 国产精品成人观看视频国产奇米| 香蕉久久一区二区不卡无毒影院| 久久精品亚洲一区二区| 亚洲网友自拍| 麻豆精品网站| 久久成年人视频| 欧美日韩午夜激情| 玖玖玖国产精品| 欧美午夜免费| 亚洲电影免费观看高清完整版| 国产精品久久久久久模特 | 欧美激情精品久久久久久大尺度| 欧美日韩免费一区二区三区| 久久视频精品在线| 欧美视频一区二区三区…| 久久综合久久88| 国产精品女人毛片| 亚洲精品美女91| 国产一区二区三区日韩| 亚洲午夜视频在线| 亚洲精品中文字幕女同| 久久国产精品一区二区三区四区| 99国产精品久久久久久久| 久久久久综合| 久久久国产91| 国产日本精品| 亚洲在线一区| 亚洲欧美另类综合偷拍| 欧美日韩一级视频| 亚洲欧洲日产国码二区| 国产日韩欧美综合一区| 一区二区久久| 最新国产乱人伦偷精品免费网站 | 亚洲精品三级| 老司机一区二区三区| 久热综合在线亚洲精品| 精品91免费| 久久久一二三| 欧美多人爱爱视频网站| 亚洲国产高清一区| 欧美成人首页| 亚洲精品乱码久久久久久日本蜜臀| 亚洲缚视频在线观看| 亚洲女与黑人做爰| 久久久www成人免费毛片麻豆| 国产精品资源| 久久av资源网| 欧美电影在线观看| 99精品福利视频| 欧美特黄一区| 欧美一级精品大片| 鲁大师成人一区二区三区| 精品不卡一区二区三区| 美女91精品| 亚洲精选一区| 午夜精品亚洲| 黄页网站一区| 欧美激情偷拍| 亚洲尤物在线| 久久亚洲精品中文字幕冲田杏梨| 亚洲欧美视频在线| 亚洲日韩中文字幕在线播放| 亚洲精品久久久久久下一站| 欧美久久成人| 亚洲中字黄色| 欧美成人日韩| 亚洲字幕一区二区| 伊人成人在线| 欧美日韩一区不卡| 久久精品五月| 欧美福利电影网| 在线亚洲一区观看| 免费看亚洲片| 国产一区二区三区自拍 | 亚洲欧洲日本一区二区三区| 欧美日韩精品久久| 欧美一区二区三区在| 欧美国产一区在线| 亚洲一区中文| 91久久久久久久久久久久久| 欧美日韩在线免费| 久久先锋影音av| 亚洲欧美成人综合| 亚洲激情国产| 久久久美女艺术照精彩视频福利播放 | 日韩视频免费观看高清在线视频| 国产精品美女在线观看| 美日韩丰满少妇在线观看| 99在线热播精品免费99热| 美日韩精品视频免费看| 亚洲欧美日韩天堂| 99成人在线| 136国产福利精品导航网址| 国产精品久久久久毛片软件| 女生裸体视频一区二区三区| 午夜在线一区二区| 亚洲午夜黄色| 日韩视频在线免费| 毛片av中文字幕一区二区| 欧美一区二区三区啪啪|