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

来自DevStore

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

  · 需要

  · 不需要

  · 看情况

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

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

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

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

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

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

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-12-23 09:18:51

一个优秀的程序员需要擅长数学吗的相关文章

【知乎】怎么成为一个优秀的程序员,而不是一个优秀的码农?

怎么成为一个优秀的程序员,而不是一个优秀的码农? 9 条评论 分享 默认排序按时间排序 98 个回答 3844赞同反对,不会显示你的姓名 萧井陌 微信公众号:炼瓜研究所 技术社区 - 3844 人赞同 优秀的程序员会告诉你打根基的重要性,会劝你在厚积薄发前要隐忍. 优秀的码农会告诉你学啥底层.啥啥啥一拖就好了,学了python还要啥自行车啊,数据结构排序函数二分搜索这不都内置了吗?工作中永远用不到,学算法有啥用啊?成为高手有很多种方法汇编是个屁啊? +++基础的分割线+++ 列举几个我认为比较重

互联网创业:如何雇佣一个优秀的程序员?

经常有人问我:“你在哪里可以找到或者聘请到优秀的程序员?”因为个人就是一名互联网项目经理,经常做项目管理,和程序员打交道的时间非常多,所以了解很多程序员的心态和习性,当然这里面也有很多的小技巧,下面就简单介绍一下我是怎么做的.下文提到的他,泛指程序员和程序媛. 问一些有过项目开发的朋友: 发现人才的最佳方式是通过别人的参考.曾经做过网站建设和软件开发以及APP制作的朋友,他们一定和优秀的程序员打过交道,他肯定会推荐一个好的程序员给你.建议有朋友如果在外包公司的话,那最好不过了.首先,你不必担心筛

如何成为一个优秀的程序员(大部分写的都非常不错)——要勤快,不停的学习;争论是无意义的,不如把两种都学了,会更有收获。

在看这份FAQ之前,你必须先读完ESR的<如何成为一名黑客>(本文末尾附有中译版),该文所讲过的道理我不再重复.该文用很大的篇幅讲什么是黑客文化,虽然态度和信仰的确是成功的最关键因素,但是你肯定会想,做不做黑客跟我没关系,我只是想学个一技之长,找个好工作而已,对吧?那么肯定更希望获得一些具体的可操作的指导.     1.各种软件技术之间是怎样的关系? 我把软件技术分为三个层次:    问题域:计算机图形学.音视频编码.信息安全.模式识别.信息检索.自然语言分析.人工智能.科学计算等:     

学习Axure的心得&amp;关于如何做一个优秀的程序员

这些天学习了Axure的一些基础知识,感觉自己就只是刚刚入门,还有好多东西不懂.本想在网上好好地学一些更高的操作,却找不找比较好的学习视频.网上的资料太多,而且质量参差不齐.(视频画面根本就看不清)到后来就找了一些文本资料来看,但还是未能坚持看下去.不过,我看了一些关于程序员的资料. 下面就来说说我的看法. 一 努力刻苦地编程.好的程序员是后天炼成的,是靠一行行代码和一个个算法给喂出来的.因此,只要努力就一定能成为一个优秀的程序员. 二 拥有过硬的技术和本事.要明白,在IT行业,靠的不是关系,地

一个优秀的程序员所具备的14个品质【转载】

慎于说Yes 在没有搞清楚开发需求.任务工作量.团队期望值之前,有前途的程序员不会轻易答应.特别是对于新人来说,比较急于表现自己,对于同事或者老板的工作安排来者不拒,精神可嘉,方法不可取.承诺太多,会出现自己无法按时完成的情况,即使按时完成,也可能没有达到别人的期望值,长期以往别人对你的失望会越来越多. 敢于说No 看起来和第一条雷同,其实细究起来不一样.第二条执行起来比第一条难得多.当遇到明显不合理的要求时,可以考虑拒绝,前提是准备好了全面充分的理由.不要经常说No,但是一旦说了,就要切中要害

谈谈一个优秀的程序员是如何炼成的

一个优秀的程序员是如何炼成的?他们关注什么?问一下自己这个问题会很有意思.这能让你好好思考一下软件开发的过程.拿它来问一下同事也不错,这能引起一些关于如何一起协作的很有意思的讨论.下面是我认为成为一名优秀的程序员所必需的5个技能. 问题分解 编程讲的是如何解决问题.但在你开始写代码之前,你需要清楚如何解决问题.一个好的程序员应该得拥有这样的技能,他能将问题分解成子问题,直到每个子问题都可以很轻松地进行解决.不过要找到一个解决问题的方式可不是件简单的事.好的程序员能够很好的对问题进行建模,这样写出

万众创新:你是一个优秀的程序员吗?

程序员经常为自己的工作和职业而感到自豪,一些软件开发公司甚至觉得优雅的编写代码是一种艺术形式,因为,很多人自称自己为“软件工匠”.但是我相信,写代码只是一个正常的职业,但在很多软件开发的情况下,程序员会抄袭别人的代码,如果每个人都可以看到你写的代码,你觉得还有些代码的必要吗? 所以,在万众创新的大环境下必须要反思:你是一个优秀的程序员吗?你是高于平均水平的软件开发人员?也许你是在排名前20%,甚至最高的10%? 我几乎可以肯定,很多程序员的答案是,高于平均水平.大多数程序员这样的感觉.但是,当然

如何才能造就一个优秀的程序员

一切就像刚刚发生过一样.那是在2000年,Pargas博士正在给我们上数据结构课,当他谈及某些数据结构的时候,他在墙上投影了一个SSH会话.在回答完某位同学提出的问题后,他随后总结了一句,“如果大家想成为一个真正的程序员,那么你需要从现在就开始学习使用vi文本编辑器”.我仍然记得他说这话的时候,脸上带着真挚的笑容,但是事后却证明他的说话是不甚正确的.不过,那个时候我还年轻,很容易受外界影响.所以,下课后我一回到宿舍,就迫不及待地开始学习如何使用vi编辑器了.这样一段时间之后,我突然发现我对vi真

转:如何成为一个优秀的程序员

如何成为一个优秀的程序员 导读:本文是由作者Jason Rudolph发表的一篇博文<Programming Achievements: How to Level Up as a Developer>翻译而来. 文章内容如下: 一个优秀的程序员如何能练就成一个卓越的程序员? 先等等,暂时不谈卓越,先谈谈如何成为一个优秀的程序员. 从第一步到第N步并没有明确的路线图.事实上,第N步到底是什么还不确定.就像逻辑型思维的开发者一样,缺乏明确的目标会让从入门到精通的道路变得异常崎岖. 过去的几年中,我