升级练功流的网游中总会给修仙的主人公设置下几大关卡,比如:金丹难成、元神难成、成了元神后还有天人五衰等等。没有这些关口,情节很难推动,所以仙侠类的网游几乎无一例外依赖于这类设定。这一传统甚至可以追溯到《西游记》和《封神演义》。
拿这个来对照程序员的增值道路,就会猛地发现,升级练功流也不完全是扯淡。不管走那条道路,程序员的修炼路上同样的也有三灾九难,要想成就高手,还是得一个个跨过去才行。如果一个程序员达到一定高度后再回头观望,那就会发现自己的同学、曾经的同事总是会因为这样那样的原因倒下去。这并不是一个简单的天道酬勤就可以敷衍的行当,下面就让我们来具体看看,究竟增值过程中可能遇到那些陷阱,掉到坑里又需要付出多大代价才爬的出来。
学习失去焦点
软件行业里有几个经典的题目,每过一段时间就会被翻出来PK一下,比如关于编程语言优劣的比较等。其中一个经典题目是软件和数学的关系。
从结果来看,一派人认为数学是软件的基础,而另一派人认为数学和软件没什么太大关系,除非是在某几个特定领域里。如果你用心观察过这事情,你就会发现这事情特别有意思。
比如说:2011年,CSDN转了一篇,叫:“数学是成就卓越开发人员的必备技能”的文章,在文末作者说:
那么,数学对所有事都有利么?这事情很难说,我对我现在的处境十分满意,或许你也如此,但这都和潜能有关系。如果你是协作世界的一名开发人员,你真的不需要数学。如果你乐于你的整个职业生涯是这样的:在工作时间中做企业CRUD应用,或在闲暇时间滑翔跳伞或极限水上滑板(或其他各种时髦的极客运动),也分配较多时间在Spring、Hibernate、Visual Studio或其它东西上。那些特殊的职位并没有真正限制你的潜力,你能变得极具价值,甚至可深入追求。但是如果你想为多样化的职业生涯而奋斗,想要有能力尝试几乎所有涉及代码的事,从信息检索到Linux内核。
总之,如果你想成为一个开发人员、程序员和计算机科学家的完美组合,你必须确保你的数学技能达到标准。长话短说,如果你在数学方面有一定天赋,那在软件开发领域中所有的大门都是向你敞开的,如果没有,那你就安安心心地做CRUD型工作吧!
总的来看,这个作者认为数学很关键,得学。
而在2012年CSDN又转了篇文章,叫:编程需要知道多少数学知识?在文章里作者说:
数学和编程有一种容易让人误解的联系。许多人认为在开始学习编程之前必须对数学很在行或者数学分数很高。但一个人为了编程的话,需要学习多少数学呢?
实际上不需要很多。这篇文章中我会深入探讨编程中所需要的数学知识。你可能已经都知道了。
对于基本的编程,你需要知道下面的:
- 加减乘除 —— 实际上,电脑会帮你作加减乘除运算。你仅需要知道什么时候运用它们。
- 模运算 —— 模运算是用来计算余数,它的符号通常用%百分号来表示。所以23除以7等于3,余数是2。23 mod 7 = 2。
- 判断是奇数还是偶数的模运算 —— 如果你想知道一个数是奇数还是偶数,用它mod 2来作模运算。如果结果是0,它就是偶数。如果结果是1,就是奇数。23 mod 2等于1,所以23是奇数,24 mod 2等于0,24是偶数。
- 对一个数作百分数运算,就是用这个数来乘以一个百分数。譬如你要得到279的54%,就是用0.54*279。这就意味着为什么1.0等于100%,0.0等于0%。
- 知道负数是什么。负数乘以负数等于正数。负数乘以正数等于负数。就这么简单。
- 知道迪卡尔坐标系统。在编程中,(0,0)代表屏幕左上角,Y坐标的正轴往下。
- 知道勾股定律,因为它是用来计算笛卡尔坐标中两点之间的距离的。勾股定律a^2+^2=c^2。(x1,y1)和(x2,y2)两点之间的距离等于((x1–x2)^2+(y1–y2)^2)。
- 知道十进制、二进制、十六进制。十进制就是我们通常用的十个数:0-9。通常认为这个十进制系统是人类发明的,因为我们有十个手指。
总的来看,这个作者认为数学不太关键,大多时候可以不学。
你如果持续关注这事儿,各种极端对立的观点绝对会吵爆你的头。但这事情其实不可能有结论,因为被对立起来的两极都是太大的概念。
比如说:如果把软件开发缩减为应用软件的开发,那争议性就会降低很多。
这里的关键问题是,假如一个人的目标是应用软件开发,却花了10年来学习数学,接下来在实际应用程序开发过程中,每天面对的是UI布局、IDE使用、圈复杂度控制、面向对象使用、设计模式的使用和类库的使用这类问题,那么这个人就会发现数学其实没啥用,他等价于因为失去焦点而失去了10年。
这里想表明的是,一旦误读了知识与目的间的因果关系,那么学习就会失去焦点,进而造成负效应,毕竟相对于人的可承受负荷而言,这个世界上的知识不是太少,而是太多。
一般的认识是只要学习就必然有所得,所以对人生的影响一定的是正面的。但实际上这个想法是偏颇的,尤其是在软件行业里。
在软件行业中,这种风险之所以异