本文说的程序员,只针对想入门,新手程序员级别。考虑到文人相轻的原因,大神们请高抬贵手。
一 数学
程序员总归还是属于理工科,数学的重要性就不强调了。 很多文科生对高等数学以及几何等感觉很难,没错,我也觉得很难。可是程序员大部分只需要掌握到初中毕业的数学即可,一元一次方程,二元一次方程,简单的逻辑与或非知识。几何?不处理3D数学基本用不上,用的时候再百度呗。推荐书籍 程序员的数学。
本书面向程序员介绍了编程中常用的数学知识,借以培养初级程序员的数学思维。读者无需精通编程,也无需精通数学,只需具备四则运算和乘方等基础知识,就可以阅读本书。
二 英语
因为程序语言是英语,因为写程序的编辑器用的是英语,因为程序中的变量,函数,类名都是用英语起的名字。所以英语要求也需要的。
英语学习能认得单词,然后能听懂是什么单词即可。词汇量2000个即可,初中高中就满足了,当然大学四六级更有加分项,然后再来一本计算机英语。这个书太多了,我就不推荐了。
买书作为世界上最划算的投资没有之一,所以工具书,经典的书,需要常常查看的书就买下来。别纠结,别犹豫,我保证你这个钱花的肯定值。
三 逻辑能力
作为面试官,我常常考察面试者的逻辑和推理能力。我们的公务员考试也有逻辑题。例如如何计算一个不规则的容器容量,或者 给你10个数,求最大的数,写出你大脑的思考过程,也就是程序步骤。
计算机其实是仿照人类思考的方式去运算的。所以代码也就是脑子里的逻辑体现。引用一句名言,一个优秀的程序员,抵得上十个以上的普通程序员。程序的世界里,一个诸葛亮,抵得过100个臭皮匠。
逻辑提升可以有几个方面,学好数学(废话),多看推理小说或电影,多看一些脑筋急转弯的书。有针对性的学习和提高自己的逻辑能力。
生活中也可以多组织几次活动,特别列清楚步骤,考虑好每个步骤的要注意的细节,有可能出现的问题,需要哪些外部帮助。这些和写程序是一模一样的。用程序的语言表达上面的话就是,列好逻辑步骤、伪代码,写好每个功能函数,考虑好程序的安全,需要调用那些外部的接口。
最后再推荐一本陪伴程序员终身的书, 颈椎病防治100法。