时间:2019-08-02 19:36:06 作者:johnnyl 浏览量:36
相信很多人在追求知识的过程中都有自学过,尤其是编程这一块,相信自学成才的人站多数,那么为什么有些人成功了,有些人却失败了呢?是什么原因导致成功与失败的,相信他们自己心里肯定都明白,看过“Teach Yourself Programming in Ten Years”这篇文章。虽然离初次宣布现已好几年了,但一切试图自学编程的人都应该发自内心的同意它的说法(除掉少量过时的具体技能部分)。直到今日,这篇经典的文章依然很有借鉴含义。以下是这篇文章的中文版。
程序员必读经典长文图1
为什么每个人都这么匆忙?
走进任何书店,你都会看到怎么在 24 小时内自学 Java,一起你还能够看到许多在几天或几小时内学会 C、SQL、Ruby、算法等等的书本。在亚马逊运用“title: teach,yourself,hours,since: 2000”进行高级搜索,我发现了 512 本这样的书。在排在前十名的书本中,有九本是编程书本,剩下一本是关于财务管理的。用“teach yourself”替代“learn”,或许用“day”替代“hours”发生的成果相似。
结论是,要么人们急于学习编程,要么编程比其他任何东西都更简单学习。Felleisen 等人在他们的书《How to Design Programs》中提到,“糟糕的编程很简单,即使是痴人都能够在 21 天内学会”时,请对这一观念表明赞同。
让我们来剖析一下在 24 小时内学会 C++意味着什么:
自学:24 小时内,你将没有时刻写几个重要的程序,并从成功和失败中吸取教训。你将没有时刻和一个有经历的程序员一同作业,并了解在 C++环境中编程会是什么样子。简而言之,你将没有时刻去学习多少东西。所以这本书只能说是肤浅的熟悉,而不是深入的了解。正如 Alexander Pope 所说,只学会一点点点东西是风险的
C++:在 24 小时内,你或许能够学习 C++的一些语法(前提是你现已知道了另一种言语),可是你不能学到多少关于怎么运用这门言语的常识。简而言之,假如你是一个底层的程序员,你能够学惯用 C++语法编写 BASIC 程序,可是你不能学习到 C++真实的优缺点。那又有什么含义呢?Alan Perlis 曾经说过:“一种不影响你编程思维方法的言语,是不值得学习的。”有一种或许是,你有必要学习一点 C++(或许是 JavaScript 之类的东西),由于你需求用现有的东西接口来完结特定的使命。但这种状况下,你不是在学习怎么编程,而是在学习怎么完结这项使命.
程序员必读经典长文图2
在 24 小时内:不幸的是,这根本不行,正如下面所说的那样。
用十年时刻自学编程
许多研究人员发现,在各种范畴要成为专家大约需求十年时刻,这些范畴包含国际象棋、音乐创作、电报、绘画、钢琴演奏、游水、网球和科学研究、神经心理学和拓扑学等等。成功的关键是不断的实践:不只是一次又一次地做,而是每次都用一个超出你现在才能的使命应战你自己,测验去处理它,在做它的一起和之后剖析你的表现,纠正错误,然后重复这个循环。人和作业都没有真实的捷径:即使对莫扎特来说也是如此。4 岁就被称为音乐天才的他,在开始创作世界级的音乐之前又花了 13 年时刻来打磨自己。另一个比如是披头士乐队。披头士乐队似乎以一系列的热门歌曲和 1964 年在艾德沙利文秀上的亮相而一夜成名。但实际上自从 1957 年以来,他们一直在 Liverpool 和 Hamburg 的小酒吧里边演出,虽然很早以前他们就遭到群众的欢迎,但他们第一次取得严重成功的专辑“Sgt. Peppers”是在 1967 年发布的。
Malcolm Gladwell 现已遍及了这个想法,虽然他的观念是 10000 小时专心的尽力,而不是 10 年。Henri Cartier-Bresson (1908-2004) 有一句名言:“你的前 10000 张照片是你最差的作品。”(他没有预料到运用数码相机,有些人能够在一周内就拍完 10000 张照片。)真实成为专家或许需求一辈子:Samuel Johnson(1709-1784)说:“成为任何范畴的杰出人士都需求毕生的尽力,投机取巧并不行行”。Chaucer (1340-1400) 诉苦说:“人生太时刻短了,而常识是无穷的”。Hippocrates (约公元前 400 年) 由于那句名言“ars longa,vita brevis”而被人称颂,这句话的原文是“Ars longa,vita brevis,occasio praeceps,experimentum periculosum,iudicium difficile”,意思是“生命很时刻短,可是技艺却很深邃,机遇转瞬即逝,探究难以捉摸,抉择困难重重”。