天道酬勤系列之普通程序员和顶级程序员的差距在哪里?

相信很多程序员在心中都曾有过这个疑问:普通程序员和顶级程序员的差距在哪里?

不少的程序员都应该有读过吴军老师的《数学之美》,这本书不仅获得了国家图书馆的文津图书奖,还收获了上百万的读者的好评。一本数学书为何会收到百万程序员和学生的喜爱呢?吴军老师曾说过说:一个普通工程师和顶级工程师的差距之一,就在数学上。

可能很多的人和最初的我一样,认为数学与实际工作偏离太远,只有极少的场景中会用到,但是从程序员的职业发展来看,我还是希望你能认真的学习一下数学。

我想给你们举两个例子,希望能够激励你们给自己一个学习数学的机会。

第一个案例:数学是程序员的得力工具

游戏和电影中的图形编程涉及到物理知识,但精确的物理模拟是十分昂贵的,所以我们通常使用数学的数值方法来替代,例如使用 Verlet 积分来近似模拟物理,观看地址:https://youtu.be/2TIEfgC3tAo

你可能认为谷歌等搜索网站的搜索算法只是简单地计算网页上的单词数量,然后显示具有相关性单词数量最高的页面,如果真是这样,那排名也太容易了,只需要重复地计算单词数量,并不会涉及任何复杂的数学问题。但实际上,对搜索页面进行排名是一个非常复杂的问题。PageRank 算法考虑到网页之间的链接数,将它们放在矩阵中,然后使用线性代数的特征向量近似算法来计算排名。

第二个案例:学习新技术绕不过数学

互联网发展到今天,一些传统互联网大厂技术水平越来越强,而且小型的技术型企业也在逐渐崛起。AI、大数据、海量并发等领域对人才的需求也越来越大,很多人都想转型做高薪的AI、DL(深度学习)工程师。

我在最初接触吴恩达AI课程的时候,我也感到很挣扎,因为有些新的概念需要以之前的数学知识为基础,而我却缺失了这些东西。

请不要羞于回头重新去学习之前错过的东西。

后来在网上找了一些微积分和线性代数的课程,把这两门全部重修了一遍,才能继续听下去,否则看似听懂了,但是一旦实操作业,一行代码也写不出来。

花点时间回头学习之前错过的东西总是值得的,试着正确地把握这些关键概念,而不是盲目地往前走,让自己陷入一片混乱之中,甚至放弃。

所以说,数学是万学之王,一切的科学都是建立在数学的基础之上,编程亦是如此。在技术更新如此之快的今天,数学能力的好坏会直接决定你在此领域的天花板能有多高。

往大了说,数学是一种思维模式,考验的是归纳、总结和抽象的能力,放在程序员的世界中,就是解决问题的能力。

因此,为了帮助程序员建立编程和数学的联系,市场上设计了满足程序员学习数学知识的产品,同时划分好了边界,用一句话形容就是:只做程序员需要的数学知识。

你可能感兴趣的:(科技前沿馆,普通程序员和顶级程序员的差距)