跳转至

结束语 知也无涯,愿你也享受发现的乐趣

你好,我是徐文浩。伴随着无数个不眠之夜,“深入浅出计算机组成原理”专栏终于来到了结束语。

去年11月份,极客时间找到我,我开始构思这个专栏。本以为今年4、5月份就能把专栏写完。结果,一方面因为创业过程中时间总是不够用,另一方面,写出有价值内容的并不是一件容易的事情,直到9月10号的凌晨,我才写完这最后一篇结束语。原本计划的45讲,也在这个过程中变成了近60讲。现在回过去看,写这个“深入浅出计算机组成原理”专栏,是一个远比想象中要困难的挑战,但同时也是一个有趣的发现之旅。

完成比完美更好

Facebook的文化里面喜欢用各种小标语,其中有一条我很喜欢:“Done is better than perfect”。翻译成中文就是,“完成比完美更好”。写这个专栏的时候,我对这一点的体会特别深刻。在学习更多深入知识的时候,我希望你也可以抱有这样的态度。

在初期构思专栏的时候,我期望写成一个完美的专栏。不过随着时间的推移,我发现其实并没有什么完美可言。

一方面,组成原理的知识点很多,如果每一个都写下来,没有个一两百讲怕是讲不完。更何况有那么多大师的教科书珠玉在前,只是做解读知识点、覆盖已有的知识点,我觉得价值不大。思来想去,我希望尽可能找到最重要、最核心的知识点,以及能和大多数工程师日常工作有结合的知识点,希望能够从应用中多给你一些启发。

另一方面,写专栏和我们写程序一样,都是有deadline的。无论是在系统发版之后的午夜里,还是去美国出差的飞机上,乃至偶尔忘带了录音笔的时候,总是要打起精神想尽方法,写出一篇让自己满意的文章来。同时,也有不少同学给我挑出了错漏或者不准确的部分,一起把这个专栏打磨地更“完美”。

不知道正在读结束语的你,有没有在过去5个月里坚持学习这个专栏呢?有没有认真阅读我每一节后的推荐阅读呢?有没有尝试去做一做每一讲后面的思考题呢?

如果你能够坚持下来,那首先要恭喜你,我相信能够学完的同学并不太多。如果你还没有学完,也不要紧,先跟着整个课程走一遍,有个大致印象。与其半途而费,不如先囫囵吞枣,硬着头皮看完再说。新的知识第一遍没有百分百看懂,而随着时间的推移,慢慢领悟成长了,这才是人生的常态。而我所见到的优秀的工程师大都会经历这样的成长过程。

我们这个行业,经常喜欢把软件开发和建筑放在一起类比,所以才会有经典的《设计模式》这样的书。甚至有不少人干脆从《建筑的永恒之道》里面去寻找灵感。然而,建筑能够在历史上留下长久的刻印,但是软件却完全不同。无论多么完美的代码都会不断迭代,就好像新陈代谢一样。几年过去之后,最初那些代码的踪影早已经没有了。软件工程师放弃了追求永恒,而是投身在创作的快乐之中。

希望在日后的学习过程中,你也能抱着“日拱一卒、不期速成”的心态坚持下去,不断地学习、反思、练习、再学习,这样的迭代才是最快的成长之路。

知也无涯,愿你享受发现的乐趣

说实话,从构思到写作这个专栏,这整个过程对我来说,还是有些忐忑的。组成原理是一门离大部分工程师的日常工作比较远的话题,却又是一个很多经典教材会讲的主题。“到底从什么角度去切入讲解”,我在构思文章的时候常常问自己。

组成原理其实是一门类似于“计算机科学101”的课程,固然我可以在里面讲VHDL这样的硬件编程语言,不过说实话,这样的知识对于大部分的人意义并不大。我期望,能够通过这个专栏,让你体会到计算机科学知识是真的有用的,能够让你把学专栏的过程变成一个发现之旅。

比如,在学习HDD硬盘原理的时候,你能知道为什么用它来记录日志很好,但是拿来作为KV数据库就很糟糕;在学习CPU Cache的时候,你实际用代码体会一下它有多快,为什么Disruptor里面的缓存行填充这样的小技巧,能够把性能发挥到极致。

除此之外,撰写整个专栏的过程,也是我对自己的一个发现之旅。

虽然在过去开发大型系统的时候,已经体会到掌握各种计算机科学基础知识的重要性,但是,这个专栏还是给了我一个系统性地、对基础知识回顾和整理的机会,在忙碌的日常工作之外,在离开学校那么多年后,重新把基础的理论知识和实际的系统开发做了一一印证。

在这个过程中,对我自己是一个温故而知新的过程,我自己新学到不少过去不了解的知识点,也因此重新找到了很多新的技术兴奋点。乃至在专栏写了一半的时候,我特地在出差的空隙跑了一趟计算机历史博物馆,去感受创造新事物的那种激动人心的感觉。

不过,在这整个过程中,我也深深体会到了内容创作的难。

过去这10个月里,持续地写稿、画图、写实验程序,在编辑的反馈下再改稿和录音,对我也是一个全新的体验。没有思路、时间不够、工作和写稿压力太大的时候,抓狂、发脾气、骂人都发生过。如果没有编辑在背后一直督促着,只靠自律,我想我无论如何也不可能写完这样一个规模的专栏。

但是,我相信只有不断地逼迫自己走出习惯的舒适区,去尝试、体验新的挑战,才会进一步的成长。而很多未来的机会,也孕育在其间。就像史蒂夫·乔布斯说的,我们未来生活的可能性就是靠这些点点滴滴串联起来的。

也许你今天只是在学校写简单的课程管理系统,可能会觉得有些无聊。抽一些时间出来,去了解计算机科学的底层知识,可能会让你找到求知的乐趣,无形中,这也为你去解决更有挑战的问题做好了铺垫。就像我自己在过去研究底层的数据系统、写技术博客的时候,也没有想到会有机会写上这样一个20万字以上的专栏。

就像罗素说的那样,“对爱的渴望,对知识的追求,对人类苦难不可遏制的同情,是支配我一生的单纯而强烈的三种情感”。

我希望,在学习成长的过程中,你能够摆脱一些功利性,不用去回避遇到的痛苦和挫败感,多从这个过程中找到获得知识的快乐。

希望这个专栏能够给你带来发现的乐趣,也能够为你在未来的生活里铺垫上那小小的一步。相信这个专栏不是你学习的终点,也也不是我探索和发现新主题的终点。说不定,在不久的未来我们还会有缘再见。

对了,我在文章末尾放了一个毕业调查问卷。在这5个月的学习过程中,如果你对这个专栏或者我本人有什么建议,可以通过这个问卷给我反馈,我一定会认真查看每一封的内容。期待你的反馈!

精选留言(15)
  • 胖头小C 👍(58) 💬(3)

    感谢老师这么认真的对待这个课程,学到了很多,这不是结束,只是我进入精彩计算机世界的开始

    2019-09-11

  • leslie 👍(21) 💬(1)

    同时学习的课程有点多,工作很忙:其实后面为了学习都只能强行把晚上的睡眠砍到4-5小时左右才挤出时间来学习,不过只是追上了部分;勉强到结束的时候学完了6成多,至少和自己工作相关的入门篇、存储与IO系统、应用篇以及答疑与加餐算是完全学完了。 更多的时候其实是把课程在当作一本参考书在用吧:例如虚拟机:不同的课程讲解的出发点不同,可是要想真正掌握用好就必须从各方面去学习,而不是单纯的学会用Vmware或者Docker;老师的课程中推荐的一些书籍同样补充了,不过顾上了课程就实在顾不上书籍了。 其实真正碰到问题的时候各方面知识不懂是根本无从去分析的尤其是当你是Team的最后一人是:不光需要分析还要找出问题的出在哪儿,整体知识没有完整的理解是无从一个人给出其它人方向的。其实原理篇的任何一块真正去扩展都能扩展出上百篇。 就像老师所说的像做建筑一样去设计已经不现实,况且现在的建筑其实大多都是框架搭好其它都是一块块拼接上去;程序架构已经从最早的单机走到了今天的分布式。希望老师下次能够授课时能相对空点:其实部分问题我是变通的去问了其它刚好知识上有所涉及的老师,只是为了解惑;因为越是对行业了解的深越知道什么才是源,才更困惑。 感谢老师的辛勤教诲,希望后续还是有些更深层的每日一科、或者微课对某些东西进一步扩展和深化讲解吧;愿老师一切顺利。

    2019-09-11

  • 刘桢 👍(15) 💬(3)

    100天,最后冲刺北邮!

    2019-09-11

  • 北北、Pepper 👍(6) 💬(1)

    在老师开启专栏的时间就订了,但是中间有一段时间中断了,因为读到指令运算那一部分,感觉就像自己又回到了前不久的课堂,觉得有点枯燥,但是工作之余,想起自己又订阅了这个专栏,于是就咬咬牙,强迫自己读下去,但没有想到,后面的内容是如此的有趣,在此十分感谢老师给予了我们如此优质的内容和知识,真的谈得上是“深入浅出”,老师每节课后的推荐阅读都大概有看一下,但可能水平不够,还是无法理解读懂,我想着,等学完整个专栏,再回头来看一遍,正所谓温故知新,好的东西肯定是要多读多思考的。老师的这个专栏,真的是我在极客时间订阅的课程里面,算得上宝藏的一门专栏了,所以还是要感谢老师,谢谢您!学无止境,知也无涯,还是要一直学习,不断提高自己~

    2019-09-14

  • 逍遥法外 👍(5) 💬(1)

    每次一读完一个专栏的最后一篇,都有种伤感的感觉,就像将要和一个老友离别一样。可是那句“江湖再见”却又不得不说。感谢老师这十个月的努力,也感谢自己的坚持学习。这个专栏对我的提升我个人感觉是肉眼可见的。最后祝徐老师一切顺利,身体健康

    2019-09-11

  • oatlmy 👍(3) 💬(1)

    老师,请问您是怎么知道有此类论文的?比如对于无锁化,你又是怎么定位到一篇论文的?

    2019-09-15

  • 焰火 👍(2) 💬(1)

    感谢浩哥

    2019-09-11

  • 易儿易 👍(2) 💬(1)

    坚持看完,收获颇丰,谢谢老师!

    2019-09-11

  • 许童童 👍(2) 💬(1)

    感谢老师,从老师的专栏中真的学到了很多。再次感谢。

    2019-09-11

  • -W.LI- 👍(2) 💬(1)

    感谢老师,没看推荐阅读(尝试了下,太枯燥难懂了),老师的专栏比较通俗易懂。

    2019-09-11

  • Focus 👍(2) 💬(1)

    发来贺电!!

    2019-09-11

  • cmp 👍(1) 💬(1)

    ​​推荐阅读还没有都看,​稍微慢点就落下了。想想老师在忙工作的同时每星期写出三篇,正确的心态和方法真的很重要。会继续追随徐老师,祝一切顺利

    2019-09-11

  • 👍(1) 💬(1)

    每天中午花10分钟,不知不觉就看完了,看得真过瘾。非科班出身,从学习51单片机入门,后来在学校自学了组成原理,操作系统,网络这些课。在工作中能够快速学习新知识,也是得益于这些基础知识。坚持就是胜利,很喜欢这句话,每次以为做不到的事,最后坚持下来都成功了!

    2019-09-11

  • 时间道 👍(1) 💬(1)

    Done is better than perfect. 了解了很多以前不知道的知识,非常感谢老师的辛苦付出!

    2019-09-11

  • TKbook 👍(1) 💬(1)

    囫囵吞枣,哈哈太好的比喻了。我感觉我就是这样。 但即使这样,还是能从中学习到很多不知道的知识。感谢老师带给我们这么多发现的乐趣。。

    2019-09-11