程序员为什么一定要学好数学?驻足听一下“老人言”

讲一下自己的惨痛经历!三个方面:

1、数学?不存在的,老子只学专业课!

2、数学?不学不行,老子还得去补一下!

3、数学?不仅仅要学,还要深入学!

1、数学?不存在的,老子只学专业课!

学习之初,很多人都会有这样的困惑。包括我在内,我想学计算机专业,老师你就直接单枪直入,教我专业性的东西啊,光教一些跟编程八竿子打不着的数学干啥?!

这样导致的一个结果就是,每次基础学科考试总是应付了事,抱着能过能及格的心态一路走来,不遇坎坷就一直坐着自由落体的运动!

2、数学?不学不行,老子还得去补一下!

我学习数据结构和算法时,总感觉自己用起来没有得心应手的感觉,做一些算法优化的时候,基本上也是只能现搬书里的算法,遇到不太一样的问题,就不知道怎么解决了。就比如那些什么排序,快速排序堆排序希尔排序。。。只能记住他们的时间复杂度和空间复杂度和写法,却从来不知道这些算法是怎么设计出来的,这些算法为什么是正确。

于是开始不断地翻看算法相关的书籍,原因正是数学基础不好,因为没有从根基上了解其原理,所以学习起来总感觉自己在中间飘着。

其实无论我们以后是学习哪一门编程语言,或者说要学习大数据、人工智能等,数学是一个很重要的学科。

3、数学?不仅仅要学,还要深入学!

计算机归根到底在cpu执行的都是指令操作,每个指令最终都是靠0101二进制来存储和解析,这就是数学里面最基本的东西。所以说,计算机和数学密不可分。

举例说明:

归纳证明法和递归编程的关系非常紧密,你不理解其中一个,就不可能真正理解另外一个。你可能不知道术语基本情况和归纳假设,但是如果你不能理解这些概念,你就没有办法写 出正确的递归程序。所以,即使是在与数学无关的领域内,不理解这些数学概念的程序员也会遇到很多困难。 优化方法取决于函数的形式,从目前看,最优化方法通常是基于微分、导数的方法,例如梯度下降、爬山法、最小二乘法、共轭分布法等。 还有线性代数中的矩阵、转置、秩 分块矩阵、向量、正交矩阵、向量空间、特征值与特征向量等在数据分析中都有很大的关系。

综上:如果想要在IT行业技术上有突破深入发展,还是要深入学习数学的。不能说你为了学编程就是写点应用逻辑,这样多没意思。什么编译器,操作系统,浏览器,数据库,游戏引擎,大学期间都可以自己试试造轮子写一写,学习过程中不要老是用别人的API,老是用别人写的库,要度尝试自己写内核,虽然一开始可能会很烂,但毕竟能让自己学到东西不是?

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 如果不熟悉线性代数的概念,要去学习自然科学,现在看来就和文盲差不多。”,然而“按照现行的国际标准,线性代数是通过公...
    Drafei阅读 1,640评论 0 3
  • 风高不屑过西渎, 但目送,峰如簇。 山色妆红秋正淑, 津天声断, 雁情难读, 旧愿添新夙。 云心初砌为谁筑? 采藕...
    平林凯风阅读 358评论 0 8
  • 喜欢大操场的宁静 因为每一个生命好像都是灵动的。他们仿佛会说话,所以让我的生命顿时变得丰富起来。我喜悦我宁静,我融...
    宝贝茹阅读 1,237评论 27 18
  • (文by 狼崽子) iOS8有一个并不起眼的today widget小插件,这个插件是一个巨大变革的试探,而未来的...
    aee203d17a5f阅读 640评论 0 4
  • (四) 我知道陈夫人是去病的母亲,名唤卫少儿,可我不明白为何他们母子俩不住在一处?甚至,去病每每见到卫少儿,眼眸...
    Rachel盈酱阅读 289评论 0 0