分享:作为程序员,为什么你应该学好数学?

img

你好,我是黄申,目前在 LinkedIn 从事数据科学的工作,主要负责全球领英的搜索引擎优化,算法和数据架构的搭建。

2006 年,我博士毕业于上海交通大学计算机科学与工程专业,在接下来十余年时间里,我曾经在微软亚洲研究院、IBM 研究院、eBay 中国研发中心做机器学习方向的研究工作,也负责过大润发飞牛网和 1 号店这两家互联网公司的核心搜索和推荐项目,还写过一本书《大数据架构商业之路》。

对于数学和计算机编程的联系,我之前也没有思考过。直到有一次,在硅谷的一个技术交流 Meetup 上,我听到一位嘉宾分享说:“如果你只想当一个普通的程序员,那么数学对你来说,并不重要。但是如果你想做一个顶级程序员,梦想着改变世界,那么数学对你来说就很重要了。”

听完这句话,我马上感受到强烈的共鸣,因为就我自己的工作经历而言,越是往高处走,就越能发现数学的重要性。我知道,数学对于我们每一个程序员来说,都是最熟悉的陌生人。你从小就开始学习数学,中考、高考、研究生考试还要考数学,所以那些熟悉的数学定理、数学公式,陪伴你至少也有 10 年时间了。

但是,自从做了程序员,你可能早就把数学抛在了脑后,甚至觉得曾经为了应试而“硬学”的数学应该是彻底没什么用了,终于可以和他们 say goodbye 了。毕竟作为一个基础学科,数学肯定是没操作系统、数据结构、计算机网络这样的课程看起来“实用”。

起码我之前就是这么认为的。大学的时候,我非常喜欢编程,甚至还翘过数学课,专门在图书馆看计算机类的图书。那会儿我觉得,数学这东西,完全就是应试教育,我更喜欢计算机这样操作类的课程,不喜欢待在教室里听数学老师讲那些枯燥的理论和定理。

再到后来,我读了硕士,开始接触机器学习,猛然间才发现,机器学习表面上是“写程序”,但实际上剥去外表,本质上就是在研究数学。从那会儿开始,我对数学的认知也才逐步客观和理性起来。

再到现在,我参加了工作,写了这么多年代码,我想说,数学学得好不好,将会直接决定一个程序员有没有发展潜力。因为往大了说,数学它其实是一种思维模式,考验的是一个人归纳、总结和抽象的能力。把这个能力放到程序员的世界里,其实就是解决问题的能力。

往小了说,不管是数据结构与算法还是程序设计,其实底层很多原理或者思路都是源自于数学,所以很多大公司,在招人时,也会优先考虑数学专业的毕业生,这些人他们数学基础很好,学起编程也更容易上手。

所以我觉得,如果编程语言是血肉,数学的思想和知识就是灵魂。它可以帮助你选择合适的数据结构和算法、提升系统效率、并且赋予机器智慧。尤其是在大数据和智能化的时代,更是如此。

举个例子,比如我们小学就学到的余数,其实在编程的世界里也有很多应用。你经常用到的分页功能,根据记录的总条数和每页展示的条数,最后来计算整体的页数,这里面就会有余数的思想。再难一点,奇偶校验、循环冗余检验、散列函数、密码学等等都有余数相关的知识。

遇到这些问题的时候,你能说你不懂余数吗?我想你肯定懂,只是很多时候没有想到可以用余数的思想来解决相关问题罢了。那为什么没有想到呢?我认为,本质原因还是你没有数学思维,还是你数学的基础不够好。

所以,在这个专栏里,我想和你重点聊聊数学。当然,我知道数学博大精深,所以在一开始做专栏的时候,我就和极客时间团队一起定义好了专栏的边界,用一句话来说就是 “只做程序员需要学的数学知识”。

首先,我梳理了编程中最常用的数学概念,由浅入深剖析它们的本质,希望能够帮你彻底掌握这些最基础、也最核心的数学知识。这其中包括那些你曾经熟悉的数学名词,比如数学归纳法、迭代法、递归、排列、组合等等。

其次,我把线性代数和概率统计中的抽象概念、公式、定理都由内而外地讲了出来,并分析它们在编程中的应用案例,帮助你提升编程的高阶能力。对于这些内容,我会从基本的概念入手,结合生活和工作中的实际案例,让你更轻松地理解概念的含义。

比如,对于朴素贝叶斯方法,我会从基本的随机现象、随机变量和概率分布等着手。随后,我会逐步深入,结合这些数学知识在编程算法中的应用进行展开。比方说,贝叶斯定理是什么,随机变量之间的独立性是什么,这些是如何构成朴素贝叶斯方法的,而最终朴素贝叶斯又是如何被运用在机器学习的分类算法之中的。

img

这样的讲解路线,既能让你巩固基础的概念和知识,同时也能让你明白这些基础性的内容,对计算机编程和算法究竟意味着什么。

不过话又说回来,我认为数学理论和编程实践的结合其实是“决裂”的,所以学习数学的时候,你不能太功利,觉得今天学完明天就能用得着,我觉得这个学习思路可以用在其他课程上,但放在数学里绝对不合适。

因为数学知识总是比较抽象,特别是概率统计和线性代数中的概率、数据分布、矩阵、向量等概念。它们真的很不好理解,也需要我们花时间琢磨,但是对于高级一点的程序设计而言,特别是和数据相关的算法,这些概念就非常重要了,这可都是先人总结出来的经验。

如果你能够将这些基本概念和核心理论都搞懂、搞透,那么面对系统框架设计、性能优化、准确率提升这些难题的时候,你就能从更高的角度出发去解决问题,而不只是站在一个“熟练工”的视角,去增删改查。

最后,我希望数学能够成为你的一种基础能力,希望这个专栏能帮你用数学思维来分析问题和解决问题。数学思想是启发我们思维的中枢,如果你对数学有更好的理解,遇到问题的时候就能追本溯源,快、准、稳地找到解决方案。

伽利略曾经说过,“宇宙这本书是用数学语言写成的”,数学是人类科学进步的重要基础,所以,你我都要怀着敬畏的心态去学习、思考数学。同样,我还要求我自己的孩子一定要学好数学,因为我确信,这对于他未来的发展来说,至关重要。

编程的世界远不止条件和循环语句,程序员的人生应当是创造的舞台。我希望,通过这个专栏的学习,能够让你切实感受到数学这个古老学科的活力和魅力。

好了,说了这么多,相信你已经下定决心和我一起攻克数学。重新开始就要告别过去,你可以在留言区做个“数学学习复盘”,在之前的学习过程中,你的学习状况是怎样的?你遇到的最大困难是什么?现在,你最希望学到的是什么?

Now,你说,我听!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/64396.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

没有数学基础可以学编程吗?

一、为什么学编程 这里我并不是问大家,是因为兴趣啊还是就业学编程。 而是,我想要学Python为了量化交易,或者我要处理表格。我想要学Java我就想自己建站。是否有这种非常明确的目标,有目标才能明确学习路线。 如果在这里&#…

只有1%的人才知道的ChatGPT写作技巧

随意的提示只能产出糟糕的输出,要想让ChatGPT输出高质量内容,需要一些技巧。原文: Stop doing this on ChatGPT and get ahead of the 99% of its users[1] 如果你尝试过用ChatGPT写作,也许会对AI生成的内容感到沮丧,也许认为Chat…

边锋网络入选2019中国互联网企业100强榜单

【TechWeb】8月14日消息,中国互联网协会、工业和信息化部网络安全产业发展中心(工业和信息化部信息中心)今日发布了2019年中国互联网企业100强榜单,杭州边锋网络技术有限公司(下文简称边锋网络)入选。 边锋…

【关于2022年卡塔尔世界杯】

2022卡塔尔世界杯最全面的看点和分析,相信一定有你感兴趣的一点,相信一定会有你感兴趣的,推荐点赞收藏~~ 2022年世界杯比以往任何时候都晚,因为卡塔尔太热了…… 然而,四年一度的世界杯终于……来了 今年的世界杯,你最期待什么? 你认为谁会成为今年的冠军? 和小文一…

数据趣事:豪掷2200亿美元举办的世界杯有多精彩!世界杯趣事你知道哪些

2022卡塔尔世界杯正如火如荼的进行着,此次的卡塔尔世界杯也是中东和阿拉伯地区首次举办,为此卡塔尔更是豪掷2200亿美元,远超历届主办国。 本届世界杯共有32支来自不同国家的队伍,他们都有一个共同的奋斗目标——捧起大力神杯&…

中国20强(上市)游戏公司2022年财报分析:营收结构优化,市场竞争进入白热化

易观:受全球经济增速下行的消极影响,2022年国内外游戏市场规模普遍下滑。但中国游戏公司凭借处于全球领先水平的研发、发行和运营的能力与经验,继续加大海外市场布局,推动高质量发展迈上新台阶。 风险提示:本文内容仅代…

盛大边锋总裁许朝军离职创业正组建团队

2月15日消息,盛大边锋总裁许朝军今日向腾讯科技证实自己已离职创业,创业选择的方向是移动互联网,目前正在组建团队开发产品。许朝军还在腾讯微博中感叹:“成功是偶然,失败是必然。但是自己要开始惊险一跳!” 据了解&am…

摊牌了,.NET开发者,准备赋能未来

hi,这里是桑小榆。一名.net开发,从19年毕业至今一直从事相关技术已近4年。 发展至今,很有必要分享分享我的经历以及对于.net开发的看法和见解。 篇幅有些长,无论你是学生,职业人,.NET开发者还是其他语言开发…

边锋游戏:用精细化运营使游戏流失率降低 26% ,只是数据驱动价值的冰山一角...

如今,我国游戏行业市场受限于监管政策,增速放缓。同时,随着市场流量的僵化,同质化严重,竞争激烈程度只增不减,粗放的推广方式也已成历史,数据驱动精细化运营逐渐成为企业焦点。 已知的众多成功案…

边锋浩方35亿易主浙报传媒:陈天桥获益近29亿

盛大网络董事长兼CEO陈天桥(TechWeb配图) ▲陈天桥投资边锋与浩方,8年总共获得收益28.63亿。 边锋浩方35亿易主:盛大瘦身 浙报增肥 借壳上市仅半年的浙报传媒,昨日抛出大举动公告,拟斥资34.9亿元收购刚从…

边锋围棋-基于英特尔®实感技术的应用案例

 面临挑战 为用户提供更加优秀的娱乐视频互动体验 用户通过游戏视频过程中,需要环境隐私的保护 解决方案 基于英特尔实感TM技术对用户进行面部捕捉与识别 基于英特尔实感TM技术摄像头用户可以自定义视频过程中的背景 影响 满足用户对…

成都边锋 云端虚拟化工具 系统驱动层 原理初窥

云端软件,轻虚拟化工具,提供了注册表级别、文件级别的虚拟化功能。 原来:成都云端网络有限公司现在:杭州边锋网络技术有限公司 域名:http://www.yunduan.cn/我收藏有以下版本:http://pan.baidu.com/s/1sjQ3…

边锋网络项目经理张海川受邀为2022首届中国敏捷大会演讲嘉宾

杭州边锋网络技术有限公司研发部项目经理张海川受邀为PMO评论主办的2022首届中国敏捷大会(线上会议)演讲嘉宾,演讲议题“夹缝中生存--测开团队的敏捷求生之路”。大会将于12月17-18日通过云端面向全国召开,会议主题为:…

java前锋,编程语言世界里的最佳“11人”

6月份的尾巴,让我们感受到了烈日炎炎的夏季;7月份的前奏,除了酷热,南非世界杯也落下帷幕。在足球世界里,能够入选赛事的最佳阵容,对于球员来说是一种莫大的荣誉。在本文中,主角将是我们开发应用…

边锋面试心得

今天下午到了边锋面试,就、、、面试了整个下午、、、汗、、、 先总结下吧:简历真的很重要,首先面试官是直接根据你的简历看你干过什么就问你什么,要是干过回答不上来,嘿嘿。。。再就是不能冷场,就算你不会也…

边锋php,六个边锋必备的边路过人技巧

" 大家好,今天我们分享六个边锋必备的边路过人技巧,希望大家喜欢! 今天给大家展示一些过人技巧,尤其对边锋特别有帮助,它将帮助我们击败防守队员,送出终极助攻,下面我们正式开始&#xff1…

太震撼了,几行代码,GPT-3变ChatGPT!

来源:新智元 快速定制模型的LLM引擎Lamini来了,开发者狂喜! ChatGPT虽好,但始终有门槛。通常,只有拥有AI博士学位的大型机器学习团队,才能这样训练一个模型。 为了把这个门槛打下来, 团队构建了…

#GPT基本使用场景 使用技巧

场景1:问答问题 这个场景应该是使用 AI 产品最常见的方法。以 ChatGPT 为例,一般就是你提一个问题,ChatGPT 会给你答案,比如像这样: 在这个场景下,prompt 只要满足前面提到的基本原则,基本上就没有什么问题。但需要注意,不同的 AI 模型擅长的东西都不太一样,prompt 可…

电脑客户端如何同时登陆多个微信账号

下载微信PC端 注:要是系统原生桌面,360桌面、搜狗桌面都是不可以,都需要退出)在操作之前先不要登陆微信。 如果在使用桌面助手,先退出按住Enter(回车键)不放,选中微信图标&#xff0…

Tool:微信使用技巧之手把手教你如何在电脑端同时登录多个微信账号之图文教程详细攻略

Tool:微信使用技巧之手把手教你如何在电脑端同时登录多个微信账号之图文教程详细攻略 导读:有时候,微信满了,需要多个微信账号在电脑端同时登陆来洽谈业务,那么如何在电脑端,同时登陆多个微信账号呢&#x…