程序员都是天生的

话说,程序员是一类不凡的种类,低劣的程序员更是如此——咱们更情愿抵赖编程这种技艺是一门艺术,而不是大家眼中艰辛卓绝的工科课程。编程或许更像是数学、音乐,或许是在电视剧《Firefly》中Kaylee所用的魔法,它是那样让人陶醉。

低劣的程序员经常有这种觉得,天赋是很难得的,更难以复制。

在数周以前,@zidarsk8跑上来通知我“天哪,居然会有这样的家伙,我才教会他怎样写代码,一转瞬他写得比我都要好了!心爱的是,这家伙在一个月之前甚至连变量是什么都不知道,这还是不是人啊!”

我容许他在博客中照实写进去。为什么有的人微微松松就能get编程这个技艺?他们有什么特意之处?谁都能学会编程还是只要某些人能力成为一个合格的程序员,而想成为低劣的程序员能否更须要天生?

一年前我给一个高中在校生做家教,他由于早先的编程课没有及格,而后他父母请了我来教他。在一个月的期间里我悉心教授,把我所知道的一切都教给了他,在我看来至少经过考试是没疑问了的。

到月末的时刻,他曾经对循环、变量赋值等等高深莫测,连函数是代码包能做必定事件他都知道和了解了。临走,我不得不对他父亲这样说“我曾经没什么好教的了,不过他还得须要练习来坚固这些。”

没错,心坎里,我是很疑心他能否能及格的。不过假设他的教员怜惜他的话,或许会过——不过,遗憾的是,我记得这个教员在我高中时代一点都不善良,特意青睐看在校生受苦受难。

还有一点要申明的是,我可不是个差教员——那个孩子还向别的在校生介绍了我,并且一切孩子都给我发了感谢信——只是有些人天生就不是写代码的料,即使他们再致力,甚至还是连伟大二字都称不上。

缄默的羔羊

Jeff Atwood在2006年出版的《Separating Programming Sheep from Non-Programming Goats》一书中提到一项钻研,宣称可以用之检测能否领有编程天分。

这个测试相当繁难,例如:

还有不少相似的测试例子。然而只要44%的在校生构成了一个一致赋值的心智模型——即使是失误的。剩下的超越半数人失败了或许基本就回答不了。

更蹩脚的是,在学了一个学期的编程之后,这个比例还是相反,还是只要44%的在校生知道赋值如何作用。

很显著,有的人无论怎样学就是想不明确这些。

上方我引见一个我以为更为简便的测试

热情

有时刻,当那些领有年轻心态的家伙(人人都能学代码,年龄不是限度)拿到一个疑问和两个工具,他们会应用这区区两个工具发明出四个工具,而后在网上搜查,找到更多的工具……这样一来,很快他们就有二十个工具,好家伙!哦,对了,我还没说这些家伙拿到的这个疑问是什么?

这个疑问就是热情!

写代码就是须要这种完齐全全不带丁点杂质的热情。当你为之深深厚醉,甚至兴奋不已的时刻,还怕什么疑问是处置不了的呢。即使你正在处置的这个疑问,你也知道是毫有意义的……这就是领有热情的伟大所在!

别担忧你开局编程的年岁比他人大——要知道,很多钻研曾经标明,阅历在这一行并不是重点——关键要看你对编程这玩意能否领有卑躬屈膝的热情。

由于一旦被扑灭了热情,那么其余的疑问就不再是疑问了。你,就是天生的程序员!

译文链接:

英文原文: Programmers are born not made

翻译作者:蒋丽丽

您可能还会对下面的文章感兴趣: