一个优秀的程序员需要擅长数学吗

来自DevStore

成为优秀的程序员,我需要擅长数学吗?相信很多年轻的程序员也问自己同样的问题。在浏览相关话题时,出现的答案模式被归结为以下三个主要类别:

  · 需要

  · 不需要

  · 看情况

貌似「需要」和「不需要」经常带有个人主观偏见,反而显得有点儿草率的反应综合征。为了成为一名优秀的程序员,一个人是否需要擅长数学的问题,可以从哲学和技术两个方面解答。

首先,我们必须尝试建立擅长数学的资格。一个人可以在既定数学原理或建模方程上,明白全局概念以适应情况,而另外一个人或许在数学的分析部分,比如长于计算、以及操作表达式和方程。在这两种情况下,二者的平均数学能力都不错。然而,在上面提到的两个特征上有着高度竞争力的一个人,可能成为被视作「擅长」数学的最佳候选人(记得把凤毛麟角的约翰·冯·诺伊曼归入精通数学的类别)。就目前在大学数学课上观察到的,那些真正擅长数学的人们不属于大多数。这使得答案更加复杂,「看情况」选项的有效性得到了增强。

在「Hello World」和 C++ 的名字到处乱放、而不明白其所以然时,成为一名程序员的阶段通常从掌握基础的教程开始,例子通常包含了数学。设想一下,打算编程的某个人,将很可能自然而然地深究问题,开始怀疑数学在编程中能否发挥切实作用。

坐下来为了编程而编程,除了学习既定编程语言的语法和机制,不会掺杂太多目的。最终,编程是要解决问题,并在数字王国里创新。通过为计算机编程,你想解决或创新什么?如果你想编写网页或自动化任务的脚本,数学不会起到较大作用。然而,如果你对图形编程、开发业务和科学方面的应用有兴趣,那么数学在开发周期里将发挥很大作用。

一旦你在特定领域有了客观目标,问题就更多地变成了学习与该领域相关的数学。有了必需的数学,以及数学思维的强大基础,就可以产出伟大的软件。因此它真正取决于你想用编程完成什么任务。不管怎样,上面的说法不是要否定学习数学。在学习编程中,我已经注意到了一个地方,问自己是否应该学习新东西,是极端错误的。因为软件开发根植于新技术的持续学习。

一个人为了成为优秀的程序员是否需要擅长数学,对于这个问题,我们现在考虑它的一个选项「需要」。对于不擅长的人而言,建议他们看看数字计算机的历史、以及那些推动机器革命的幕后人。数字计算和编程根植于数学。学习数学有助于提高问题解决的技巧和分析思维。是的,如果你想解决需要数学的、各种领域的复杂问题,那么擅长数学对于优秀程序员而言,是不可或缺的。


你可能感兴趣的:(类,技术,程序员,数学,竞争)