也就是说,程序员是一个特殊的品种,尤其是对于优秀的程序员——我们更愿意承认编程的技能是一门艺术,而不是大家眼中艰巨的工程课程。编程可能更像数学,音乐,或者是Kaylee在电视剧《Firefly》中使用的魔法,太让人沉醉了。优秀的程序员常常有这种感觉,天才来之不易,更难复制。几周前,@zidarsk8来找我说“天啊,有这样一个人,我只是教他如何写代码,然后他写得比我好!该死的,这个人一个月我就没了以前连变量是什么都不知道,所以我还是人!”我答应他在博客里如实写。为什么有些人很容易就掌握了编程技能?他们有什么特别之处?任何人都可以学习编程或者只有特定的人才能成为合格的程序员,你需要出生吗?成为一名优秀的程序员?一年前,我正在辅导一个高中生,他的父母在他之前的编程课不及格后聘请我教他。在一个月的时间里,我认真地教他,把我所知道的都教给他。在我的看来,至少通过考试是没有问题的。到月底的时候,他已经对循环、变量赋值等了如指掌,甚至知道和理解函数是可以做某些事情的代码包。临走前,我只好对他父亲说:“我教的东西不多,但他还需要练习来巩固这些。”是的,我心里怀疑他是否能通过。也许如果他的老师怜悯他,虽然——虽然,可悲的是,我记得这位老师并不友善在我的高中时代,我喜欢看到学生受苦。还有一点要说,我不是一个糟糕的老师——那个孩子把我推荐给其他学生,所有的孩子都给我发了感谢信——只是有些人天生就不会写代码,即使不管怎样他们努力尝试,他们仍然不能被称为平庸。沉默的羔羊杰夫·阿特伍德在2006年出版的《Separating Programming Sheep from Non-Programming Goats》一书中提到了一项研究,声称可以用来检测是否有编程天赋。这个测试很简单,例如:a=5b=20a=bWhatareaandbnow?类似的测试例子还有很多。但只有44%的学生形成了统一分配的心智模型——即使它是错误的。剩下一半以上的人答不上来或者根本答不上来。更糟糕的是,经过一个学期的编程,这个百分比是一样的,同样只有44%的学生知道作业是如何工作的。很显然,有些人就是不管怎么研究也想不通。下面我介绍一个我觉得比较容易的测试激情。有时,当头脑年轻的人(任何人都可以学习编码,年龄不是限制)遇到一个问题和两个工具时,他们会使用这两个工具创建四个工具,然后在网上搜索并找到更多工具......所以他们很快就有了二十个工具,伙计!哦,顺便说一句,我什至没有说这些家伙遇到了什么问题?这个问题是激情!写代码需要这种没有任何杂质的热情。当你为之深深陶醉,甚至兴奋之时,为什么还怕有些问题解决不了呢?即使您正在解决一个您知道毫无意义的问题……这就是拥有热情的好处!如果您开始编程的年龄比其他人大,请不要担心-要知道许多研究表明经验在这一行工作中并不重要-重要的是您是否对编程有不懈的热情。因为一旦激情被点燃,那么其他的问题就都不是问题了。你是天生的程序员!翻译链接:http://news.html5tricks.com/programmer-is-born.html英文原文:Programmersarebornnotmade译者:姜丽丽
