阅读更多

4顶
0踩

非技术

转载新闻 优秀的程序员需要擅长数学吗?

2015-06-24 15:38 by 副主编 mengyidan1988 评论(3) 有6096人浏览
今天有很多年轻人或经验不足的程序员在论坛发帖、在 Stack Exchange 网站问:「为了成为优秀的程序员,我需要擅长数学吗?」,在我还年轻的时候,我也问自己同样的问题。最近,我醉醺醺地、也是出于无聊,竟然 Google 了同样问题,差不多有 10 多年没有思考过这个问题了。在我浏览相关话题时,出现的答案模式被归结为以下三个主要类别:
  • 需要
  • 不需要
  • 看情况

貌似「需要」和「不需要」经常带有个人主观偏见,反而显得有点儿草率的反应综合征。因此我把精力更多地放在「看情况」的选项上,以确保「需要」被证明为一种更加普通的观点。我决定就这个问题写点儿东西,考虑到这一点,我的醉醺醺的念头开始兴奋起来,这将促使我不会再忽视它。为了成为一名优秀的程序员,一个人是否需要擅长数学的问题,可以从哲学和技术两个方面解答。我打算坚持哲学层面。意识到它为什么对我重要,是因为一个更年轻的我,为了找到基于不成熟和懒惰而萌生的「不需要」选项,将要投入更多的时间。



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

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

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

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

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

本文转自:腊八粥
  • 大小: 83.6 KB
来自: 腊八粥
4
0
评论 共 3 条 请登录后发表评论
3 楼 newgo333 2015-07-03 14:55
数学的面很广
个人感觉广的来说,是逻辑... 一个清晰的编码逻辑是需要
二是细的来说,像地图上展示上数学原理及公式,以到应用,需要较强的基础.
2 楼 bewithme 2015-06-29 16:13
当你认真学习一下计算机图形学的时候你就知道数学的重要了
1 楼 yixiandave 2015-06-26 12:51
数学的面太广
从逻辑学来说,每个程序员都必须牢固掌握的,因为程序本身就是逻辑的体现
而从微积分这些领域来看应该除了特殊领域的程序员,大部分普通程序员应该接触不会太多吧。最多是考虑算法复杂度上会用到一点

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • Delphi 样例-属性编辑器

    运行效果如下 窗体布局 object Form1: TForm1 Left = 0 Top = 0 Caption = #31034#20363'-'#23646#24615#32534#36753#22120 ClientHeight = 243 ClientWidth = 527 Color = clBtnFace Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -

  • delphi编辑器功能

    1.        打开(opendialog1) procedure TForm1.Button1Click(Sender:TObject);  //打开文件 begin   if opendialog1.Execute then     memo1.Lines.LoadFromFile(opendialog1.FileName) ; end;   2.        保存(sav

  • delphi ---ttoolbar,ttoolbutton

    1、button style:tbsButton,tbsCheck,tbsDivider,tbsDropDown,tbsSeparator,tbsTextButton tbsButton:普通的控件 tbsSeparator:用作分隔 tbsDropDown:下拉控件,属性popupMnu:选择下拉的菜单项(PopupMenu1),我操作时,发现右击才有选择项,无法下拉,原来 Dropd...

  • Delphi颜色的表示

    //全以红色举例://1. RGB 模式:Self.Color := $0000ff; //不过和HTML、PhotoShop、FireWorks中的 #ff0000 是完全反的,应该叫 BGR。//2. RGB 分值,譬如:Self.Color := RGB(255,0,0);//3. Delphi 中的标准模式:Self.Color := $000000ff;//其中低3位字节

  • [好玩]Sogou文学水平评测系统

    http://www.sogou.com/websearch/test/statsword.jsp 庄表伟,您的总体评价: 写意舒展的叙述方式,仿佛江南的风景画卷;富有哲理的字里行间,带来的,不仅仅有感动,亦有良多感慨。架构清晰,逻辑性强,情节...

  • 搜索、推荐、广告系统等人工智能优质技术资源最全整理

    前沿 文章目录前沿开源地址[算法学习资料: AI_Tutorial](https://github.com/cbamls/AI_Tutorial)开源相关LuceneSolrElasticLucidWorks中文分词大公司阿里百度京东美团点评...人工智能、AI架构、搜索系统、推荐系统...

  • 搜索,推荐,广告系统架构及算法技术资料大合集吐血整理——2020年终分享

    精华机器学习,NLP,图像识别等人工智能领域学习资料,搜索,推荐,广告系统架构及算法技术资料吐血整理 你还在为学习算法摸不着头脑么?你还在为技术调研各种Google么?AI的牛b吹不上去?盯紧了,这里就是你的2020...

  • 国内可用语料库

    元智大学中国文学网络系统研究室所开发的「网络展书读—中国文学网络系统」,为研究中心负责人罗凤珠老师主持,红楼梦是其中一个子系统,其他还包括善本书、诗经、唐宋诗词、作诗填词等子系统。此网站为国内Internet...

  • CSDN刘韧写作班为中国千万开发者摇旗呐喊

    ⑦凯恩斯主义:政府有时可以改善市场结果(也是看得到的手) ⑧亚当·斯密《国富论》:一国的生活水平取决于它生产物品与劳务的能力; ⑨哈耶克《货币的非国家化》:当政府发行过多货币时,物价上升。 ⑩社会面临...

  • iview框架menu菜单展开的问题

    meta: { title: "测试一号", icon: "md-copy" },meta: { title: "测试二号", icon: "md-copy" },title: "测试分类一号",title: "测试分类一号",title: "测试分类一号",bug:测试一切都很顺利,但是用到实际中确无法展开。解决办法:只需要在模板中添加一个v-if即可解决。原因:渲染数据的时候页面还未渲染完成。当数据出现的时候才开始渲染即可。...

  • DELPHI 中 Window 消息大全使用详解

    Window 消息大全使用详解 导读:    Delphi是Borland公司的一种面向对象的可视化软件开发工具。 Delphi集中了Visual C++和Visual Basic两者的优点:容易上手、功能强大,特别是在界面设计、数据库编程、网络编程方面更有其独特的优势。    Delphi中的消息    消息是Windows发出的一个通知,它告诉应用程序某个事件发生了。在Delphi

  • APP——List

    '葫芦侠我的世界', '超级视频', '洋葱数学', '罪恶都市阿拉斯加', '安兔兔评测', '饭局狼人杀', '手机电视', '天天快报', '宝宝游乐园', '派派', '纳米盒', '交易猫', '中华美食', '保卫萝卜', '漫漫漫画', 'LOFTER...

  • 神经网络理论及应用答案,神经网络理论名词解释

    【第四个方面:专家系统】专家系统是人工智能中最重要的也是最活跃的一个应用领域,它是指内部含有大量的某个领域专家水平的知识与经验,利用人类专家的知识和解决问题的方法来处理该领域问题的智能计算机程序系统...

  • 国内免费汉语语料库-NLP

    中文句結構樹資料庫 http://turing.iis.sinica.edu.tw/treesearch/ 搜狗文本分类语料库 http://www.sogou.com/labs/dl/c.html 哈工大信息检索研究室对外共享语料库 ...

  • 综合素质计算机的知识考点,综合素质常识考题

    1.综合素质测试都考什么综合素质测评一般是对大学生的一种评价指标,综合素质测评的内容包括德育测评、智育测评、体育测评和能力测评四个方面。1、德育测评:主要体现在体现在政治表现、价值观念、集体观念、...

  • 语料库

    元智大学中国文学网络系统研究室所开发的「网络展书读—中国文学网络系统」,为研究中心负责人罗凤珠老师主持,红楼梦是其中一个子系统,其他还包括善本书、诗经、唐宋诗词、作诗填词等子系统。此网站为国内 ...

  • 清华大学刘云浩教授——人工智能打开了潘多拉的盒子吗?

    但是在工业软件(如电子设计自动化EDA软件)和基础软件(如类似Windows的操作系统)方面,我国与世界一流水平还有较大的差距。在这些领域,国际合作是十分重要的,因为不是每一项技术我们都能在短时间内掌握。但这绝...

  • python中文语料分词处理,按字或者词cut_sentence

    分类器系统 sgjsj 一致估计 sgjsj 系统 sgjsj 超线程技术 sgjsj 诺顿 sgjsj 帧内编码 sgjsj 名字抽取 sgjsj 同轴电缆 sgjsj 样本分布 sgjsj 词语完整性 sgjsj 行为模型 sgjsj 泛关系 sgjsj 标签宽度 sgjsj 记忆组织...

  • 【转】国内可用免费语料库

    元智大学中国文学网络系统研究室所开发的「网络展书读—中国文学网络系统」,为研究中心负责人罗凤珠老师主持,红楼梦是其中一个子系统,其他还包括善本书、诗经、唐宋诗词、作诗填词等子系统。此网站为国内 ...

Global site tag (gtag.js) - Google Analytics