资源预览内容
第1页 / 共12页
第2页 / 共12页
第3页 / 共12页
第4页 / 共12页
第5页 / 共12页
第6页 / 共12页
第7页 / 共12页
第8页 / 共12页
第9页 / 共12页
第10页 / 共12页
亲,该文档总共12页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
Teach Yourself Programming in Ten YearsPeter NorvigWhy is everyone in such a rush?Walk into any bookstore, and youll see how to Teach Yourself Java in 7 Days alongside endless variations offering to teach Visual Basic, Windows, the Internet, and so on in a few days or hours. I did the following power search at Amazon.com: pubdate: after 1992 and title: days and (title: learn or title: teach yourself)and got back 248 hits. The first 78 were computer books (number 79 was Learn Bengali in 30 days). I replaced days with hours and got remarkably similar results: 253 more books, with 77 computer books followed by Teach Yourself Grammar and Style in 24 Hours at number 78. Out of the top 200 total, 96% were computer books. The conclusion is that either people are in a big rush to learn about computers, or that computers are somehow fabulously easier to learn than anything else. There are no books on how to learn Beethoven, or Quantum Physics, or even Dog Grooming in a few days. Felleisen et al. give a nod to this trend in their book How to Design Programs, when they say Bad programming is easy. Idiots can learn it in 21 days, even if they are dummies. Lets analyze what a title like Learn C+ in Three Days could mean: Learn: In 3 days you wont have time to write several significant programs, and learn from your successes and failures with them. You wont have time to work with an experienced programmer and understand what it is like to live in a C+ environment. In short, you wont have time to learn much. So the book can only be talking about a superficial familiarity, not a deep understanding. As Alexander Pope said, a little learning is a dangerous thing. C+: In 3 days you might be able to learn some of the syntax of C+ (if you already know another language), but you couldnt learn much about how to use the language. In short, if you were, say, a Basic programmer, you could learn to write programs in the style of Basic using C+ syntax, but you couldnt learn what C+ is actually good (and bad) for. So whats the point? Alan Perlis once said: A language that doesnt affect the way you think about programming, is not worth knowing. One possible point is that you have to learn a tiny bit of C+ (or more likely, something like JavaScript or Flashs Flex) because you need to interface with an existing tool to accomplish a specific task. But then youre not learning how to program; youre learning to accomplish that task. in Three Days: Unfortunately, this is not enough, as the next section shows. Teach Yourself Programming in Ten YearsResearchers (Bloom (1985), Bryan & Harter (1899), Hayes (1989), Simmon & Chase (1973) have shown it takes about ten years to develop expertise in any of a wide variety of areas, including chess playing, music composition, telegraph operation, painting, piano playing, swimming, tennis, and research in neuropsychology and topology. The key is deliberative practice: not just doing it again and again, but challenging yourself with a task that is just beyond your current ability, trying it, analyzing your performance while and after doing it, and correcting any mistakes. Then repeat. And repeat again. There appear to be no real shortcuts: even Mozart, who was a musical prodigy at age 4, took 13 more years before he began to produce world-class music. In another genre, the Beatles seemed to burst onto the scene with a string of #1 hits and an appearance on the Ed Sullivan show in 1964. But they had been playing small clubs in Liverpool and Hamburg since 1957, and while they had mass appeal early on, their first great critical success, Sgt. Peppers, was released in 1967. Malcolm Gladwell reports that a study of students at the Berlin Academy of Music compared the top, middle, and bottom third of the class and asked them how much they had practiced: Everyone, from all three groups, started playing at roughly the same time - around the age of five. In those first few years, everyone practised roughly the same amount - about two or three hours a week. But around the age of eight real differences started to emerge. The students who would end up as the best in their class began to practise more than everyone else: six hours a week by age nine, eight by age 12, 16 a week by age 14, and up and up, until by the age of 20 they were practising well over 30 hours a week. By the age of 20, the elite performers had all totalled 10,000 hours of practice over the course of their lives. The merely good students had totalled, by contrast, 8,000 hours, and the future music teachers just over 4,000 hours. So it may be that 10,000 hours, not 10 years, is the magic number. (Henri Cartier-Bresson (1908-2004) said Your first 10,000 photographs are your worst, but he shot more than one an hour.) Samuel Johnson (1709-1784) thought it took even longer: Excellence in any department can be attained only by the labor of a lifetime; it is not to be purchased a
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号