某日,老师在课堂上想考考学生们的智商,就问一个男孩:
“树上有十只鸟,开枪打死一只,还剩几只?”
男孩反问:
“是无声手枪,还是其他没有声音的枪么?”
“不是。”
“枪声有多大?”
“80~100分贝。”
“那就是说会震的耳朵疼?”
“是。”
“您确定那只鸟真的被打死啦?”
“确定。”
老师已经不耐烦了:
“拜托,你告诉我还剩几只就行了,OK?”
“OK.鸟里有没有聋子?”
“没有。”
“有没有关在笼子里的?”
“没有。”
“有没有残疾或饿的飞不动的鸟?”
“没有,都身体倍棒。”
“算不算怀孕肚子里的小鸟?”
“都是公的。”
下课铃响起,但男孩仍继续问:
“它们受到惊吓起飞时会不会慌失措而互相撞上?”
“不会。”
“恩,如果您的回答没有骗人,”
学生满怀信心的回答:
“打死的鸟要是挂在树上没掉下来,那么就剩一只,如果掉下来,就一只不剩。”
老师推推眼镜,强忍着要昏倒的感觉,颤抖地说道:
“你可以去当程序员了……”
问题来了:为什么老师说男孩适合做程序员?
其实是因为男孩针对一开始的问题,将每一个会影响最终结果的因素都考虑进来,并且以更有逻辑的方式去提出疑问,层层递进,最终得出答案。
而这样一种思考方式,可不就是身为一名程序员必须具备的素质?
上述段子,生动而形象的从侧面反应了程序员是一个较高智商、有逻辑并且思维较为敏捷的一个职业群体。
那么,是不是每个人都适合做程序员?
不一定!
经常看到有程序员反映,自己在做了几年程序员后,突然就发现自己不适合程序员了,比如下面这个网友:
而对于初学者最慌的一个问题,同样是“我适不适合做一名程序员?”
所以,到底什么样的人才适合做程序员呢?
本文由此总结了适合做程序员的几个特点:
1、喜欢计算机
喜欢计算机,认为code is beautiful ,每天都与计算机为伴,愿与计算机长相厮守。喜欢写程序,做程序员就是上天堂;不喜欢写程序,做程序员就是下地狱。只有喜欢,只有热爱,才能把程序写好。
2、数学好
计算机的核心是数学,因为编程语言是程序设计的工具,程序设计的核心是算法,算法的核心是数学。会写代码不难,难的是将生活抽象成数学模型,使用算法解决生活中的实际问题。
3、逻辑思维能力强
编程不是谈恋爱,可以感性的自由发挥,他需要严谨的逻辑思维能力,1就是1,2就是2,任何一个看似不起眼的问题,都有可能导致整个软件系统发生故障。
4、好强
编程是一项聪明者的游戏,是一场征服之旅,他需要程序员具备争强好胜的冲劲,能够不断的去克服各种挑战,去解决各种看似很奇怪、看似不可能解决的问题。
5、强烈的好奇心与求知欲
在这样一个信息大爆炸的时代,与其他行业相比,IT行业的经验比书本知识价值更小,如果长期满足于已有知识,闭门造车,墨守成规,不去学习新的技术,那么,必然会造成个人思维局限,创意“生锈”,跟不上时代的步伐。
6、细心
编程过程处处是细节。程序设计语言不是人的自然语言,本身就是严格的计算机语言,来不得半点马虎。即使少了一个句号,忘了对变量进行初始化,也会让原本很完美的程序产生随机错误,而这些错误足以导致计算机死机甚至系统崩溃,让程序员抓耳挠腮花费很长时间去解决。
7、坚持不懈
IT行业与其他行业不一样,程序员遇到困难就可能让程序无法进行下去,他们必须要把问题解决了程序才能完成。所以程序员在追求最优的解决方案时,无论遇到千难万难,他们都不能轻言放弃,哪怕是屡战屡败,他们仍然屡败屡战,迎难而上。
8、自学能力强
这可能是做一名程序员最最重要的素质了。因为这个行业发展太快的原因,很多技术,平台,语言都在不断的迭代更新,所以一个程序员永远都在不停的学习,学习新的平台,学习新的语言(编程语言),学习新的架构等等。
如果大家对于学习Java有任何的问题,关于如何提升学习Java以及学习方法、学习技巧、快速达到就业的技术水平,都可以随时来问我,这是我建立了5年的Java学习交流QQ群:796866257。
有不懂的问题可以随时在里面问,需要Java各个阶段的学习资料也可以在里面进行下载。关于前端和Python的问题也可以问。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。