十年自习编程
作者:彼得·诺维格
为什么大家都这么着急?
走进任何一家书店,你就会看到教自己Java24小时内除了提供无穷无尽的变体来教C,几天或几个小时内,SQL、Ruby、算法等等。亚马逊高级搜索标题:教书,你自己,小时数,自2000年起找到512本这样的书。在前十名中,有九本是编程书(另一本是关于簿记的)。类似的结果来自于将“自学”改为“学习”,或将“小时”替换为“天”。
结论是,这两个人中的任何一个人都急于学习。关于编程,或者说编程在某种程度上更容易学习比其他任何东西都重要。费莱森等人他们在书中对这一趋势表示赞同。如何设计程序,当他们说“糟糕的编程很容易。白痴可以在21天,即使他们是假人“疯狂的鹅漫画也有他们的观点.
让我们分析一下标题是什么样子的24小时内自学C++可能意味着:
自学:再过24小时,你就没有时间写几篇了重要的程序,并从您的成功和失败中学习他们。你没有时间和一个有经验的程序员一起工作了解在C++环境中生活是什么感觉。总之,你不会有时间学到很多东西。所以这本书只能说肤浅的熟悉,不是深刻的理解。正如亚历山大·波普所说,小小的学习是一件危险的事情。
C++:在24小时内,您就可以学习到C++(如果你已经知道另一种语言),但你不能学习更多关于如何使用这种语言的知识。总之,如果你是,比如说,基本程序员,您可以学习用基本使用C++语法,但你无法了解C++是什么实际上是好的(也有坏的)。那有什么意义?阿兰佩利斯曾经说过:“一种不影响你的方式的语言想一想编程是不值得知道的“。你必须学习一点C++(或者更有可能,(比如JavaScript或处理),因为您需要与完成特定任务的现有工具。但你不是学习如何编程,你正在学习如何完成这一任务。
在24小时内:不幸的是,这还不够,因为部分显示。
十年内自学编程
研究人员(布卢姆(1985年), 布赖恩和哈特(1899年), 海耶斯(1989年), Simmon&Chase(1973年))已经显示出来了要花大约十年的时间,才能在各种不同的领域中发展出专门知识。领域,包括下棋,音乐创作,电报。操作,绘画,钢琴演奏,游泳,网球和研究神经心理学和拓扑学。关键是审议练习:不只是一次又一次地做,但是挑战自己一项超出你目前能力范围的任务,分析你在做的时候和之后的表现,并改正。任何错误。那就重复一遍。再重复一遍。似乎没有真正的捷径:即