谁说数学对程序员不重要?

2018 年 12 月 3 日 余晟以为

搞程序开发,到底需要不需要数学好?长久以来,这是一个争论不休的问题。

我曾经在公司组织过专门的讨论班,一开始许多人以“现身说法”证明,数学“没什么用”,因为数学不好仍然是开发的中坚力量。但是,随着讨论的慢慢加深,大家逐渐认识到了数学的价值和魅力,参与的兴致也越来越高,讨论也越来越热烈。

为什么会这样呢?因为大家逐渐发现了,数学好对开发是“如虎添翼”的作用。比如,解决下面这些问题的时候,数学好,会让你的头脑异常清醒。

比如进制,几乎所有学习计算机的人都知道“二进制”,但未必所有人都清楚“进制”到底代表什么,也没有去想过不同语言里进行进制转换时, radix为什么不限定为2、8、10、16等等几个常用数字。于是,如果要生成长度很短的计数序列(比如3F6BQ),又要避免混淆O和Q和0、I和1等等容易混淆的字符,就只会写一个带多个IF条件的循环,经常错漏百出。如果你真正理解了进制就会知道,可以直接用33进制解决问题——10个数字加上26个大写字母,去掉O、Q、I,算数的时候仍然用十进制,显示时用映射表把每一位的值转换成对应字符就可以。

比如图论,它不只是处理图形的时候才会用到,许多时候如果你把问题“抽象”成点和线构成的图,就会发现它的面貌陡然一变,解法自然浮现出水面——“人草羊狼过河”的问题就可以穷举状态再找出可达路线,简单验证码的识别就可以简化为寻找极大联通分支,订单状态的流转也可以用状态-转移函数来治理。

再比如基本的计算,如今几乎所有程序员都要做点统计,但许多人只会做算数平均,结果一两个极端值就可以导致结果的巨大偏差,这也是我工作中经常遇到的问题——某个值波动剧烈,原来是当天出现了一两个极值。如果你懂得方差、p90、p95等等概念,就可以避免这个问题。更不用说容量预估,如果用户数增长一倍,用于存储用户资料、用户关系、用户行为等等数据的表会怎样增长?不能作出准确预估,临时抱佛脚,估计要手忙脚乱加班了。

如果你觉得我说的有道理,今天向你介绍一个人:黄申。

黄申是 LinkedIn 资深数据科学家和微软学者,IBM ExtremeBlue天才计划成员,长期专注于大数据相关的搜索、推荐、自然语言处理、广告以及用户精准化领域,在微软亚洲研究院、IBM美国研究院、eBay中国、沃尔玛1号店和大润发飞牛网都曾担任要职,带队完成了若干个公司级的战略项目,也是《计算机工程》特邀审稿专家,著有20多篇国际论文和10多项国际专利。

他在极客时间的专栏《程序员的数学基础课》已经上线,专栏中他以编程的视角,结合自己十多年的学术经验和工业实践,通过“知识 - 应用 - 知识”的讲解路线,总结出一套为程序员量身定制的数学学习方法和知识体系。

订阅福利

限时优惠68元,12月15日恢复原价99元,订阅立省31元。

如何订阅

扫描下方海报的二维码,试看或订阅专栏。

登录查看更多
0

相关内容

数学是关于数量、结构、变化等主题的探索。
【硬核书】不完全信息决策理论,467页pdf
专知会员服务
351+阅读 · 2020年6月24日
最新《自动微分手册》77页pdf
专知会员服务
100+阅读 · 2020年6月6日
【干货书】R语言书: 编程和统计的第一课程,
专知会员服务
111+阅读 · 2020年5月9日
专知会员服务
123+阅读 · 2020年3月26日
【电子书】C++ Primer Plus 第6版,附PDF
专知会员服务
87+阅读 · 2019年11月25日
做机器学习和AI必备的42个数学知识点
AI前线
9+阅读 · 2018年12月6日
学好机器学习,这里有想要的一切
PaperWeekly
6+阅读 · 2018年6月10日
刚开始学编程?这几款小工具能让你事半功倍
想入门AI?先掌握这些数学知识再说!
InfoQ
5+阅读 · 2018年3月13日
用于数学的 10 个优秀编程语言
算法与数据结构
13+阅读 · 2018年1月5日
数学不好能搞人工智能吗?
算法与数学之美
3+阅读 · 2017年11月27日
搞人工智能必备“数学库”
机器学习算法与Python学习
5+阅读 · 2017年11月20日
数学不好,如何转行人工智能?
算法与数学之美
4+阅读 · 2017年11月17日
Arxiv
4+阅读 · 2019年8月7日
Factor Graph Attention
Arxiv
6+阅读 · 2019年4月11日
Adaptive Neural Trees
Arxiv
4+阅读 · 2018年12月10日
A General and Adaptive Robust Loss Function
Arxiv
8+阅读 · 2018年11月5日
Implicit Maximum Likelihood Estimation
Arxiv
7+阅读 · 2018年9月24日
Arxiv
6+阅读 · 2018年4月21日
Arxiv
3+阅读 · 2018年2月24日
Arxiv
6+阅读 · 2018年1月14日
VIP会员
相关VIP内容
【硬核书】不完全信息决策理论,467页pdf
专知会员服务
351+阅读 · 2020年6月24日
最新《自动微分手册》77页pdf
专知会员服务
100+阅读 · 2020年6月6日
【干货书】R语言书: 编程和统计的第一课程,
专知会员服务
111+阅读 · 2020年5月9日
专知会员服务
123+阅读 · 2020年3月26日
【电子书】C++ Primer Plus 第6版,附PDF
专知会员服务
87+阅读 · 2019年11月25日
相关资讯
做机器学习和AI必备的42个数学知识点
AI前线
9+阅读 · 2018年12月6日
学好机器学习,这里有想要的一切
PaperWeekly
6+阅读 · 2018年6月10日
刚开始学编程?这几款小工具能让你事半功倍
想入门AI?先掌握这些数学知识再说!
InfoQ
5+阅读 · 2018年3月13日
用于数学的 10 个优秀编程语言
算法与数据结构
13+阅读 · 2018年1月5日
数学不好能搞人工智能吗?
算法与数学之美
3+阅读 · 2017年11月27日
搞人工智能必备“数学库”
机器学习算法与Python学习
5+阅读 · 2017年11月20日
数学不好,如何转行人工智能?
算法与数学之美
4+阅读 · 2017年11月17日
相关论文
Arxiv
4+阅读 · 2019年8月7日
Factor Graph Attention
Arxiv
6+阅读 · 2019年4月11日
Adaptive Neural Trees
Arxiv
4+阅读 · 2018年12月10日
A General and Adaptive Robust Loss Function
Arxiv
8+阅读 · 2018年11月5日
Implicit Maximum Likelihood Estimation
Arxiv
7+阅读 · 2018年9月24日
Arxiv
6+阅读 · 2018年4月21日
Arxiv
3+阅读 · 2018年2月24日
Arxiv
6+阅读 · 2018年1月14日
Top
微信扫码咨询专知VIP会员