Teach Yourself Programming in Ten Years——用十年教会自己编程.pdf
上传人:qw****27 上传时间:2024-09-12 格式:PDF 页数:5 大小:322KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

Teach Yourself Programming in Ten Years——用十年教会自己编程.pdf

TeachYourselfProgramminginTenYears——用十年教会自己编程.pdf

预览

在线预览结束,喜欢就下载吧,查找使用更方便

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

用十年教会自己编程作者:PeterNorvig译者:刘海粟为何万事都如此仓促?随便走进一家书店,你就能看到《7天学会Java》以及各种万变不离其宗的书籍,形如:在数天或是数小时内学会VisualBasic、Windows系统、互联网等等。我在亚马逊做了个高级搜索:pubdate:after1992andtitle:daysand(title:learnortitle:teachyourself)[1]共得到了248个结果。前78个是计算机类图书(第79个是《30天学会孟加拉语》)。我把搜索中的“days(天)”替换成“hours(小时)”,结果得到了一个相似度惊人的结果:253本书中,前77本都是计算机类图书,紧随其后的第78本是《24小时内教会自己语法与格调》。而在200名之后,有96%是计算机类图书。由此可见:要么是人们都在急匆匆的学习计算机,要么就是出于某种原因计算机比其他任何东西都要好学。而没有一本书是关于如何在数日之内学会贝多芬或是量子力学甚至是狗的饲养的。Felleisen等人在《如何设计程序》中也指出了这一趋势,他们说:“糟糕的编程非常简单,蠢货都能在21天的时间内学会,即便他们就是根木头都可以!”让我们来分析一下诸如《三天内学会C++》这样的标题意味着什么:•学会:3天的时间,你完全没有时间去完成一些大型程序,也无法从其中的成功与失败中汲取知识。你也没有时间和一个有经验的程序员一起工作并熟悉C++环境下的开发是个什么样子。总之,你没有时间去深入的学习。所以这种书只能给你一个肤浅的认识而非深入的理解。正像AlexanderPope说的——一知半解是件危险的事情。•C++:3天内你可能学会一些C++的语法(前提是你学过其他编程语言),但你学不到如何去使用这种语言。总而言之,如果你是——比方说——一个Basic程序员,你或许能学会以Basic的风格用C++语法编程,但你无法掌握C++真正的优点(或缺点)。问题何在?AlanPerlis曾说过:“如果一种语言不能影响你的编程思路,那就不值得学习。”唯一合理的解释就是你只需要学习一丁点的C++(类似的还有JavaScript或是Flash的Flex)以便为了某个特定目标而去连接一个现有工具的接口。但如果这样,你就不是在学习如何编程,而仅仅是在学习如何完成你的目标而已。•三天内:很不幸,正像我们在下一节中要展示的那样,这远远不够。用十年教会自己编程研究员们(Bloom(1985),Bryan&Harter(1899),Hayes(1989),Simmon&Chase(1973))已经指出在许多领域中想达到精通都需要花费十年左右的时间,这其中包括国际象棋、音乐创作、电报操作、绘画、钢琴演奏、游泳、网球以及对神经心理学或是拓扑学的研究。关键在于用心去练习:并非仅仅是一遍又一遍的单纯重复,而是要去挑战一个刚好高于你目前水平的目标。去尝试,并在做的时候以及完成后分析自己的表现,指出所有的错误。之后重复,再重复……这没有捷径:甚至是莫扎特——4岁时他就是个音乐神童了,但一样是用了13年的时间才创作出世界级的音乐。另一个例子,虽然看上去甲壳虫乐队是在1964年的埃德·沙利文秀上一夜走红的,但其实他们早在1957年就开始在利物浦和汉堡的小俱乐部中演出了,而且虽然很早就受到大众的青睐,但他们第一次重要的成功却是1967年发行的专辑——《Sgt.Peppers》。MalcolmGladwell公布了一份关于柏林音乐学院学生的研究报告,比较了优等、中等和后进的三类学生并为他们制定了练习时间:三组人从几乎相同的年龄开始练习演奏——大约五岁左右。起初的几年中,每个人都练习几乎相同的时间——每周2到3个小时。但到了八岁左右的时候,真正的差距开始出现了。那些班中最优秀的学生的练习量开始超过其他人:九岁时达到每周6小时,十二岁时每周8小时,十四岁时每周16小时,越来越多。到了二十岁的时候,他们每周的练习时间超过了30小时。二十岁时,在精英演奏者的人生历程中共计练习了10,000小时。相较之下,仅仅是好学生的练习时间只有8,000小时,而未来的音乐教师仅有4,000小时的练习。所以,或许10,000小时——而不是10年——才是一个神奇的数字。SamuelJohnson(1709-1784)认为这可能要花更长的时间:“要实现任何领域的卓越才能都是需要毕生奋斗的——不会再有更低的代价来获得它了。”而Chaucer(1340-1400)则抱怨“人生短暂,但却有太多技艺要学。”Hippocrates(约公元前400年)因那句“arslonga,vitabrevis”而闻名,全文是“Arslonga,v