结束语 | 从数学到编程,本身就是一个很长的链条

你好,我是黄申。不知不觉,4个多月就过去了,终于到了说再见的时候。

上周编辑对我说:“黄老师,专栏正文写完啦,要写结束语啦!”我当时第一反应是,“啥?已经写完啦?这么快!”。别看我现在“依依不舍”,回想写专栏之初,真的是一波三折。

我曾经出版过两本大数据相关的书籍,而且销量和口碑都还不错,所以刚开始的时候,我感觉写专栏应该是“得心应手”的事情。可是,试写了几篇之后,在和专栏编辑的沟通中,我逐渐意识到,写专栏和写书完全是两回事。

写书的时候,往往是作者主导,想把这本书写成什么样,给谁看,这些完全由自己说了算。但是,写专栏文章是不同的,它要有明确的受众,因此就要明确每一篇的知识点深度和密度,并把一个知识点深入浅出地说清楚,确保每个人看完之后能有所收获。

很快,我就进入了状态。可是,我又遇到了第二个“波折”。

虽然大家都知道数学和编程是紧密相关的,但是到具体的知识点的时候,就没有那么直观了。对于数学和编程之间的关系,每个人都有自己的理解。我很明白,如果无法厘清这两者的关系,很难写出一个对于程序员来说,非常实用的数学专栏。所以,在写作的同时,我反复地问自己:“数学和编程究竟是什么关系?如何把这种关系的本质通过文字和代码讲解出来?”。

我不断地去思考、和编辑讨论,慢慢发现,多数人对这两者关系不清楚的主要原因是,从数学的知识体系出发,一直到具体的编程应用,整个过程本身是一个很长的链条。

要把编程领域中的数学讲清楚,我们至少要经历“数学概念-数学模型-数据结构-基础算法/机器学习算法-编码实现”这几个关键步骤。

具体来说,首先你要充分理解一个数学的概念,然后是数学的模型。在这些基础之上,我们才能把它们转换成编程领域中对应的数据结构和算法,最终才能付诸于编码实现。

经历过这些深度思考,搞明白了专栏的交付目标。每天写稿、录音到深夜,对我来说,都不是什么事情了。因为写这个专栏的过程中,我也收获了很多。总的来说,这几个月的创作充满了艰辛,但是也充满了成就感。希望这个专栏能够帮助你收获知识,以及知识之外的一些对数学的认知,那就是这个专栏最大的意义和价值。

最后,感谢极客时间这个平台给了我一个机会,能够重新梳理自己这么多年的学习心得和工作经验,更要感谢订阅专栏的你,不断给我反馈和意见。专栏虽然结束了,但是学习应该是持续进行的。非常感谢你的支持,你可以继续在留言区留下你的疑问,我也会持续不断地进行解答。

每一次结束都是另一段新旅途的开始,祝福你在工作、生活中都能不断进步!

精选留言

  • Bora.Don

    2019-04-15 20:53:55

    谢谢老师,这个专栏是我在极客时间上看过最好的一个专栏,甚至是我过去几年技术类书籍,文档,资料中最好的一个,谢谢老师,希望后续还有其他专栏上新
    作者回复

    也要感谢你和大家的一贯支持!

    2019-04-16 01:54:47

  • 郭俊杰

    2019-12-19 18:17:33

    说句实话,现在才卖了2万多份,我理解不了,我开始的预测是这课应该卖5万左右,可能有些程序员还没有了解到编程的本质和真谛吧。希望随着时间,这个订阅数会番一番。
    作者回复

    感谢支持和鼓励,我也相信越来越多的人会意识到数学的重要性

    2019-12-20 02:50:31

  • lianlian

    2019-04-15 08:36:33

    感谢老师,我学习到了很多有用的知识😁
    作者回复

    很高兴听到你有所收获,对我也是很好的激励

    2019-04-16 01:55:24

  • Leeby

    2020-03-21 22:24:12

    最近开始接触人工智能,发现数据基础太重要了。未来的程序员世界,会越来越凸显语数外的重要性,数学和英语就不必说了。程序员不是单单面对机器,更要去表达自己的思想。因此语文也得好,才能写出像黄老师这样通俗易懂的好文章!
    作者回复

    很好的总结

    2020-03-31 13:00:38

  • 四季风

    2019-10-15 20:59:11

    要把编程领域中的数学讲清楚,我们至少要经历“数学概念 - 数学模型 - 数据结构 - 基础算法 / 机器学习算法 - 编码实现”这几个关键步骤。

    老师,我同意您这个观点。我现在疑惑的是在数学模型转化成实际的代码这个过程中,一定还需要些什么,比如对变量的定义,对某个过程的抽象,把它用一条条代码写出来。我现在拿到一个数学模型,即使有他的数学公式,总觉得还需要点什么才能把这个公式实现了,这个可能就是步骤一类的东西

    数学公式≠算法,算法包含的意义更广泛,比如用一个个过程也可以实现某个功能,但它却没有清晰的公式。

    我想知道的是怎么把一个实实在在的问题用代码把它描述出来,一直有种隔靴搔痒的意思太难受了。

    不知道我说清楚了没,还望老师给予解答,不胜感激😊。有关这一类的书老师可以推荐一下吗,我发现数学建模的书里边都是些公式,不是我想要的那一种
    作者回复

    你的想法很到位,我的理解你想知道的这部分和计算机学科中的“数据结构和算法”更为相关,假设你对数学模型已经很了解了,那么接下来的事情就是让计算机也能理解并处理,那么我们就需要使用合适的数据结构,来存储和转移数据,并使用计算机算法来求解。

    2019-10-17 00:28:05

  • zzz

    2019-04-21 22:18:50

    感谢老师,学完了,觉得太值了,我打算再读一次,整理笔记和程序,以及再读老师推荐的书。以及期待老师的下一次专栏。
    作者回复

    感谢你的支持🙏

    2019-04-22 06:22:57

  • Neo_Zhang

    2019-04-17 18:53:09

    谢谢老师。专栏跟到一半断了,以前我只在建模竞赛中将数学应用到程序设计里,但在这篇专栏里您又打开了新的世界。
    准备从第一篇开始按照“数学概念 - 数学模型 - 数据结构 - 基础算法 / 机器学习算法 - 编码实现”一步步写代码实践。
    作者回复

    加油

    2019-04-18 04:04:56

  • FengX

    2019-04-17 09:52:23

    谢谢老师!
    老师总结的数学与算法的贯通步骤:数学概念 - 数学模型 - 数据结构 - 基础算法 / 机器学习算法 - 编码实现。这是目前极客时间其他专栏和市面上技术书籍里所没有的讲解思路,通透明晰,易于理解,受益良多!
    准备二刷复习。
    作者回复

    希望对你有价值

    2019-04-18 04:05:23

  • 拉欧

    2019-04-16 08:54:08

    通过这个专栏的学习,理清了之前的一些盲点,谢谢老师
    作者回复

    很高兴本专栏对你有价值。

    2019-04-16 23:46:37

  • 失火的夏天

    2019-04-15 09:09:51

    谢谢老师o(^o^)o,一开始还一直跟着老师走,可后面进入线代的章节后,由于各种原因,比如工作忙了,自己线代的内容忘记的很很多,一直没去捡回来,导致落下了。不过之后还是回慢慢补回来的,之前都没有见过有把数学和编程结合起来的文章,老师这个是第一份,十分感谢老师,以后估计也会二刷,三刷甚至N刷。

    最后也想问老师一个问题,专栏里看到了概率统计和线性代数的应用,不过好像没有微积分(高等数学)方面的(也许有,可能是我落下了)。微积分的思想有没有运用到编程当中的呢?还是说微积分只是提供一中抽象思维的思考方式?
    作者回复

    感谢你的支持,微积分通常只会用到少数非常专的算法之中,对于日常的编程用的很少。不过微积分的思想还有有用的,便于你理解离散值和连续值的变化,对于一些机器学习算法,需要使用这两者之间的转换来变换特征值。

    2019-04-16 02:01:53

  • jay

    2020-01-10 21:24:21

    感谢老师,第一轮刷完,收获颇多,准备二刷,期待黄老师的新作(希望黄老师开个ML&DL的专栏)
    作者回复

    感谢你的支持👍

    2020-04-09 11:17:34

  • 四季风

    2019-10-19 10:57:50

    老师,有没有一类书讲怎么把现实世界中的一个问题转化成一条条代码的,现在的数据结构的书上来就是链表,树之类的,当然那确实很重要,但是他并没有教给你怎么把一个实际的问题一步一步的用数据结构来实现,缺少了最关键的一步,书里讲的过于理论了。老师,你知道有没有这样的书,论文也行啊,英文也可以,希望老师给推荐一下😊
    作者回复

    我个人觉得《数据结构和算法》这类书应该是最符合你要求的,不过有些书或者课程可能讲得不够实用,或者不够生动,让人觉得不好懂。我推荐极客时间里销量排名第一的专栏,王争老师的《数据结构和算法之美》,个人觉得很不错,可以参考

    2019-10-22 01:25:14

  • 松小鼠

    2019-08-21 08:04:22

    今天才看完,我也是疑惑数学和编程的关系,看到专栏的内容就果断买了
    作者回复

    希望对你有所帮助

    2019-08-22 02:11:15

  • 随便讲两句

    2019-08-08 19:29:27

    通过这个专栏打开一个窗,看到原来完全不了解的另外一个世界!感谢大神!
    作者回复

    很高兴你能坚持到最后👍!

    2019-08-09 00:53:40

  • 薇薇来了

    2019-06-13 15:13:20

    谢谢老师,专栏内容很不错,现在回头重新梳理笔记,再学习一遍
    作者回复

    感谢支持!

    2019-06-14 00:25:26

  • Geek_ecfa5c

    2019-04-16 20:21:28

    感谢老师!
  • Joe

    2019-04-16 08:05:44

    谢谢老师,课程很棒。没想到自己坚持学习下来了,向老师学习,加油💪
    作者回复

    感谢Joe一直以来积极互动,回答了不少问题,也提出了很多好的想法。

    2019-04-16 23:46:15

  • 夕林语

    2023-01-21 23:15:33

    感谢黄博又给了我重新学习数学的勇气
    作者回复

    很高兴这个专栏对你有所帮助!

    2023-03-03 02:28:55

  • 013923

    2022-09-23 14:32:48

    从数学到编程,是一个很长的链条
  • Geek_ec9c3f

    2021-10-04 23:04:11

    老师你好,我是最近才发现这本书的,之前都没怎么留意到这本书;
    我有个问题想问下:
    老师课里讲的案例都理解,但是平时用的话还是不怎么会用,感觉自己的数学思维还是没有建立起来,所以想问下怎样才能培养好的数学思维;
    我是跳到后面问的,如果老师有讲怎么解决的话告诉一下在哪看哈
    这书真的不错~希望老师后续上新
    作者回复

    你好,很高兴对你有所帮助。至于实战,我个人觉得不用急,贵在坚持和积累,等有了一定的实战经验,你就会理解何时可以灵活运用。

    2021-10-09 11:06:16