数学一般的人适合学习编程吗?

原创 2015年01月09日 19:30:39


今天在回答清华的差生以后有何出路?时, @杨硕 留言:其实我能写出这篇回答,跟吴军老师的数学之美浪潮之巅都很有关系,这两本书对我影响非常大。

杨硕的这篇回答,看起来题目不同,但其实回答的都是一个问题:数学思维会给编程带来怎样的帮助?推荐:高中数学(理科思维)不是特别特别好,未来能做成优秀程序员吗? - 杨硕的回答

杨硕在回答中按照自己的理解,对代码工作进行了概念性分类,分为:
1结构性的工作/2效率性的工作/3逻辑性的工作/4仿真性的工作/5物理性的工作,并分别介绍了各类代码工作所涉及到的数学知识,以及相关学科知识。由此,他有了如下体悟:
(摘录)
我们高中学的数学,以及大学一年级学的微积分,其实都不是数学的本质,而是数学工具。数学的本质是建立一套严密的体系来描述世界,揭示世界本身的严格表示形式
==当我在学习了机器人运动学之后,再回头去看代数与几何,就明白了人们为什么要建立种种复杂的代数结构并且去分析他们的性质。
==在学习了概率机器人理论以后,再回头去看概率和统计,就明白了期望和方差这些不知道是确定还是不确定的玩意到底有什么用。
我感觉其实学习大部分的数学知识都不存在有没有天赋这样一个说法,目前好的数学教材非常多,而且都把知识解释得非常清楚,这本书看不懂了完全可以换一本再看。任何智力正常的人,在系统的训练和合理的时间投入之后,都可以学会数学系本科涵盖的一切数学知识。
学习数学的关键在于有没有兴趣去欣赏它抽象的美,以及是不是愿意投入时间。 一开始我是不太会欣赏数学的,我高中数学很差,高考数学只有100多几分。大学一开始学微积分也学得很差。但是我在大二大三期间写机器人程序的时候发现了代数的重要性,学会了欣赏数学,于是就能学好数学了

我家有个知名程序员:一个小程序轻松换回一辆宝马 他读高中和大学时,数学特别好,打双升心算速度奇快,围棋下得好。现在他在做什么呢(以下截图来自他的微博):

对,他从2004年开始研究数字电视,慢慢从做软件转到做芯片。这个过程无疑是艰辛的,但得益于他的数学基础(为了做芯片,他需要读大量的数学paper),他硬是把这个兴趣坚持到了现在,晃眼十年过去了。会怎样?我不大在乎,只知道他选择走的是比较困难的路,没什么好担心的,他向来如此。

编程、做软件,是工程的一种。所以题主的这个问题,也属于讨论数学和工程的关系范畴。我爸爸是搞数学的,这个话题在我们家经常拿出来说。他是擅长运用数学协助解决工程应用问题的。

下面这个系列,作者是 @田渊栋 博士(卡耐基梅隆大学机器人系博士,Facebook人工智能组研究员)数学的用处(一)///数学的用处(二)///数学的用处(三)///数学的用处(四
另推荐他的:在谷歌无人车组的工作感想
有人就会问了,大部分高级抽象和我们平时的工作没啥关联,有必要学习它们么?答案是:确实没有必要(笑)。数学家们把这种抽象过程当作游戏,自得其乐地在那里不停地发文章;而我们工科生要解决实际问题,要以最小的代价命中问题的要害,只取所需要的部分就行。虽然如此,但是——
学会这样一种自下而上的,多级抽象的思考方式,个人认为是数学带给我们的最重要财富
有效率的思维,是像一束激光,在合适的时候聚焦于问题关键点,而忽略细节;等解决完了,再重新分析,迅速切换到下一个关键点,几个关键点一解决,纲举而目张,问题自然解决。而关键点如何选择,大节如何把握,细节如何忽略,就是需要不停磨练的艺术。每次细节复杂,逻辑关系混乱的时候,不是拼耐心把它们全都解决,而是移开目光,朝天仰望,想一想其中有什么最重要的成分,把他们抽出来反复理解,按照重要和次要排序,最终理顺关系,再开始动手。
上面摘录 @田渊栋 博士的这段话,与上面 @Milo Yip讲的——
我的体会是,有时数学不好也能完成一些编程工作,但有可能限制了工作的品质。如果数学更好一些,可以把一些问题分析得更透彻,写出更快、更精确、更稳定的计算代码
讲的是类似的道理。

或可参考:
计算机系的高数,离散,线代都是用在哪些方面的? 
在了解工业化的过程中,得到“产学研”三个字,奉为经典。   
  就像“贪嗔痴戒定慧”六个字,奉为了解人性和自身的好东西。    
  吴军的浪潮之巅(第2版)将“产学研“讨论的非常好。    
  IT新。日新月异。    
IT跟数学近。数学是IT的母系,又是核心的方法。
数学之美 
美在有用,这是对学生讲的
。 
美在抽象,这是对工程界讲的。抽象是以不变应万变。抽象是把握本质。 
  美在简洁,这是对学术界讲的。    
  这本书以数学为引,对青年人教导了IT中的产学研。    
  对年轻人构建世界观,规划学习成长路线很有帮助。    
  吴军的位置和视野都很好。这两本书都很经典且重要。这本书应该在大学生大一结束后尽快看明白。 
  这本书也能让学生更形象的认识《人月神话》里的外科手术式团队

编程需要学习多少数学知识

数学和编程有一种容易让人误解的联系。许多人认为在开始学习编程之前必须对数学很在行或者数学分数很高。但一个人为了编程的话,需要学习多少数学呢?   实际上不需要很多。这篇文章中我会深入探讨编程中所需要...
  • didawang
  • didawang
  • 2012-08-12 20:18:00
  • 1282

2.什么人适合学嵌入式

2.1.嵌入式开发需要用到哪些知识 2.2.嵌入式开发需要什么技能 2.3.总结 2.4.嵌入式优势 2.5.适合学习嵌入式的人群...
  • Rston
  • Rston
  • 2015-12-07 10:05:47
  • 935

连载《一个程序员的成长历程》-17.最后的项目,得了抑郁症

两年的时间很快就过去了,尽管推动公司转型失败了,还是有很多收获的,毕竟竭尽全力的付出了。经历这一切,让我陷入无限的沉思之中,作为一名技术人员仅靠技术可左右的事情太有限了。让我一直以来凭借主观能动性工作...
  • u014267642
  • u014267642
  • 2015-05-25 22:53:48
  • 1785

编程适合小孩学吗?

美国非营利性组织code.org每年会在全球范围内组织“hour of code”活动,鼓励全世界的小孩学习编程。大部分人听到“编程”二字,首先往往会想到一串串代码,因而认为编程太难,小孩学不会或没有...
  • kidscode
  • kidscode
  • 2017-01-13 14:52:21
  • 1219

零基础编程者初学python须知

零基础编程者初学python须知 黄老师提示大家树立一个观念:通过学习python学会编程,不是简单学习python的而已。 自学有压力的建议参加" python培训_python从零基础到网...
  • paul_26piggy
  • paul_26piggy
  • 2013-01-11 12:40:10
  • 1127

编程到底要不要学好数学?

讨论“编程到底要不要学好数学”之类的帖子见的不少了,这其实是一大误区,相当于战士在质疑该不该用枪作战。数学在计算机图形学中的应用Greg Turk, August 1997“学习计算机图形学需要多少的...
  • song88
  • song88
  • 2008-02-16 09:56:00
  • 855

什么样的人适合创业开公司(转贴)

什么样的人适合开公司,我是个第一次创业者,公司开了3年了,有点经验教训,我的看法是:1、一定要是个讲原则的人你是公司最后的责任人,没得推,所以必须要讲原则,很多时候,这个原则很重要。2、要具备起码的综...
  • szliszt
  • szliszt
  • 2007-08-05 00:37:00
  • 4066

我对学习数学的感觉

  我对学习数学的感觉 爬完山,与一个同事谈起学习数学。自觉自己也没有什么心得,在数学的海洋里,我只能被它所淹没。但作为一个数学系毕业的学生我不能回答这个问题,又觉得对不起这个毕业证吧!只能把自己所认...
  • chenyongjue
  • chenyongjue
  • 2007-05-31 16:03:00
  • 830

什么样的人适合当程序员?挺有意思的一篇文章

http://www.cocoachina.com/programmer/20160720/17125.html
  • openglnewbee
  • openglnewbee
  • 2016-07-21 09:16:36
  • 1349

Python入门教程(适用有其他编程语言经验和计算机基础的人)

转自http://blog.csdn.net/hitlion2008/article/details/9285785 重要说明 这不是给编程新手准备的教程,如果您入行编程不久,或者还没有使用过1到2门...
  • xingyanxiao
  • xingyanxiao
  • 2015-09-07 20:58:35
  • 1701
收藏助手
不良信息举报
您举报文章:数学一般的人适合学习编程吗?
举报原因:
原因补充:

(最多只允许输入30个字)