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

清風(fēng)竹林

ぷ雪飄絳梅映殘紅
   ぷ花舞霜飛映蒼松
     ----- Do more,suffer less

用十年學(xué)習(xí)編程(轉(zhuǎn))

為什么每個(gè)人都急不可耐?

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

學(xué)會(huì):在3天時(shí)間里,你不夠時(shí)間寫一些有意義的程序,并從它們的失敗與成功中學(xué)
習(xí)。你不夠時(shí)間跟一些有經(jīng)驗(yàn)的程序員一起工作,你不會(huì)知道在那樣的環(huán)境中是什么
滋味。簡(jiǎn)而言之,沒有足夠的時(shí)間讓你學(xué)到很多東西。所以這些書談?wù)摰闹皇潜砻嫔?br>的精通,而非深入的理解。如Alexander Pope(英國(guó)詩(shī)人、作家,1688-1744)所言
,一知半解是危險(xiǎn)的(a little learning is a dangerous thing)

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

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

10年編程無師自通

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


對(duì)編程感興趣,因?yàn)闃啡ざゾ幊獭4_定始終都能保持足夠的樂趣,以致你能夠?qū)?0
年時(shí)間投入其中。

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

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

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


跟別的程序員一起完成項(xiàng)目。在一些項(xiàng)目中成為最好的程序員;在其他一些項(xiàng)目中當(dāng)
最差的一個(gè)。當(dāng)你是最好的程序員時(shí),你要測(cè)試自己領(lǐng)導(dǎo)項(xiàng)目的能力,并通過你的洞
見鼓舞其他人。當(dāng)你是最差的時(shí)候,你學(xué)習(xí)高手們?cè)谧鲂┦裁矗约八麄儾幌矚g做什
么(因?yàn)樗麄冏屇銕退麄冏瞿切┦拢?/p>

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

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

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

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

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


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

 

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

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


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


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

 

答案

各種操作的計(jì)時(shí),2001年夏天在一臺(tái)典型的1GHz PC上完成:
    執(zhí)行單條指令             1 納秒 = (1/1,000,000,000) 秒

    從L1緩存中取一個(gè)word        2 納秒
    從主內(nèi)存中取一個(gè)word        10 納秒
    從連續(xù)的磁盤位置中取一個(gè)word    200 納秒
    從新的磁盤位置中取一個(gè)word(尋址) 8,000,000納秒 = 8毫秒

 

腳注

本文的日文譯本要感謝Yasushi Murakawa,中文譯本要感謝郭曉剛,西班牙文譯本要
感謝Carlos Rueda,德文譯本要感謝Stefan Ram。
T. Capey指出Amazon上面《Complete Problem Solver》的頁(yè)面中,《Teach Yourself
 Bengali in 21 days》和《Teach Yourself Grammar and Style》被列在了“購(gòu)買
此書的顧客還買了以下書籍”欄目里面。我猜其中一大部分察看這兩本書的人都是從
我這里過去的。

posted on 2009-01-20 14:34 李現(xiàn)民 閱讀(327) 評(píng)論(0)  編輯 收藏 引用 所屬分類: 絕對(duì)盜版

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美国产另类| 久久艳片www.17c.com| 亚洲日韩中文字幕在线播放| 在线视频精品一区| 久久精品国产精品亚洲| 91久久精品美女| 久久精品夜色噜噜亚洲a∨| 欧美日韩综合| 日韩一区二区精品视频| 欧美高清一区| 欧美精品一区二区三区视频| 136国产福利精品导航| 欧美一区二区三区免费看 | 国产网站欧美日韩免费精品在线观看 | 国产精品无码永久免费888| 日韩手机在线导航| 这里只有精品在线播放| 欧美黄色aaaa| 亚洲激情女人| 欧美激情精品久久久久久大尺度| 欧美+日本+国产+在线a∨观看| 国产视频一区在线| 欧美国产日韩在线观看| 国产精品国产馆在线真实露脸| 一区二区三区www| 欧美在线免费观看亚洲| 国产日韩在线看片| 女人香蕉久久**毛片精品| 久久久久久久久久久久久9999| 国产亚洲综合精品| 久热精品视频在线观看一区| 久久精品国产亚洲一区二区三区| 亚洲免费观看高清完整版在线观看| 亚洲国产成人91精品 | 日韩天堂av| 欧美体内she精视频在线观看| 久久人人97超碰国产公开结果| 欧美一区二区网站| 一区三区视频| 亚洲国产日韩一区二区| 欧美日韩一区二区视频在线| 午夜精品福利视频| 欧美亚洲视频一区二区| 亚洲午夜激情网页| 亚洲欧美日韩中文在线制服| 国产亚洲成年网址在线观看| 亚洲靠逼com| 国产欧美一区二区视频| 裸体一区二区| 国产精品丝袜久久久久久app| 亚洲精品在线视频观看| 91久久精品一区二区三区| 久久阴道视频| 免费黄网站欧美| 欧美一区激情视频在线观看| 欧美日本不卡高清| 亚洲精品国产拍免费91在线| 亚洲国产欧美在线| 久久夜色精品亚洲噜噜国产mv| 久久久精品国产免大香伊| 欧美77777| 欧美激情一区二区三级高清视频 | 欧美亚一区二区| 久久久精品国产免大香伊| 国产欧美va欧美va香蕉在| 正在播放亚洲| 午夜精品久久久久久久久久久久| 欧美日韩一区二区视频在线| 在线一区日本视频| 亚洲欧美在线高清| 国产女人aaa级久久久级| 性久久久久久久久久久久| 一级日韩一区在线观看| 久久人人九九| 欧美激情精品久久久久久免费印度 | 狂野欧美激情性xxxx| 欧美激情精品久久久| 99热在这里有精品免费| 欧美久久影院| 亚洲欧美日本伦理| 久久综合九色综合网站| 国产精品毛片在线看| 亚洲精品国产拍免费91在线| 亚洲一区二区av电影| 国产婷婷精品| 免费成人美女女| 久久久久综合| 亚洲人成免费| 国产精品亚洲综合久久| 久久五月激情| 一本久久精品一区二区| 在线亚洲一区| 国产视频在线观看一区二区三区| 久久精品综合一区| 亚洲欧洲一区二区三区| 欧美在线精品免播放器视频| 国产精品亚洲综合色区韩国| 久久午夜视频| 亚洲视频1区2区| 欧美高清视频在线| 欧美一区二区视频97| 亚洲日韩欧美视频一区| 欧美二区在线播放| 亚洲欧洲av一区二区三区久久| 欧美不卡三区| 欧美一级专区免费大片| 亚洲伦伦在线| 国内精品伊人久久久久av影院| 久久国产一区二区| 欧美高清在线视频| 欧美一级久久久| 一区精品在线播放| 国产精品久久久久久av下载红粉| 久久男人资源视频| 欧美亚洲系列| 国产精品99久久久久久久久久久久| 噜噜噜久久亚洲精品国产品小说| 亚洲欧美www| 久久精品一区| 国产精品日韩欧美一区二区| 免费在线日韩av| 欧美专区亚洲专区| 99这里只有精品| 香蕉免费一区二区三区在线观看 | 欧美日韩一区不卡| 免费日韩av片| 久久综合色影院| 久久成人一区二区| 亚洲欧美精品伊人久久| 久久只有精品| 久久亚洲免费| 久久久成人网| 久久久7777| 久久精品国产99| 久久久久久夜精品精品免费| 香蕉久久一区二区不卡无毒影院 | 久久se精品一区精品二区| 一本大道av伊人久久综合| 亚洲裸体俱乐部裸体舞表演av| 亚洲国产精品va| 国产精品vvv| 国产精品激情偷乱一区二区∴| 欧美日韩国产综合新一区| 欧美一区二区三区四区在线观看地址 | 久久电影一区| 久久er99精品| 麻豆精品在线观看| 欧美国产1区2区| 亚洲伦理一区| 亚洲一区二区三区在线播放| 亚洲成人资源| 久久久久久精| 久久综合九色综合久99| 欧美a级大片| 亚洲精品三级| 亚洲夜晚福利在线观看| 亚洲三级网站| 一本一本大道香蕉久在线精品| 在线视频你懂得一区| 午夜精品视频在线观看一区二区| 欧美自拍偷拍午夜视频| 久热爱精品视频线路一| 欧美精品一区二区三区在线看午夜| 欧美日韩一二三区| 国产精品―色哟哟| 激情校园亚洲| 制服丝袜激情欧洲亚洲| 日韩视频一区二区| 亚洲在线观看免费| 亚洲午夜精品视频| 欧美一区二区三区日韩| 奶水喷射视频一区| 日韩亚洲精品在线| 久久黄色级2电影| 欧美剧在线免费观看网站| 国产精品久久久久9999吃药| 国产一区二区高清视频| 日韩视频一区二区三区在线播放免费观看 | 亚洲欧美成人一区二区三区| 久久漫画官网| 一本一本久久a久久精品综合麻豆 一本一本久久a久久精品牛牛影视 | 91久久在线播放| 中文日韩欧美| 久久久www成人免费无遮挡大片 | 久久久中精品2020中文| 欧美区二区三区| 极品尤物av久久免费看| 一区二区三区国产在线| 蜜臀av国产精品久久久久| 久久精品道一区二区三区| 亚洲三级免费| 久久久91精品国产| 欧美丝袜一区二区| 亚洲精品视频二区| 久久久亚洲精品一区二区三区 | 亚洲欧美在线播放| 欧美精品一区二区三区在线看午夜 | 欧美一区二区三区免费观看视频| 亚洲高清成人| 久久午夜精品|