目录

[雅望停云] 写于看完 JYY 的《操作系统原理》之后

目录

强者的生活真是让人叹为观止,唉。

看完 JYY 的那几篇知乎文章以后,我整个人瘫坐在椅子上。羡慕,向往,还有一种难以言说的距离感。像他们这样的强者,对知识有着非常强的掌握度,在自己所处的领域有所建树,能力出众,阅历丰富,身边的朋友也都是各个领域的厉害人物。真是让人羡慕啊。

文章里关于财富的那部分尤其让我印象深刻。他已经很富有,却依然过着相对朴素的生活,把钱交给做量化的朋友打理。这样的生活方式,简直就是我梦想中的样子。我也想拥有一笔财富,然后每天做自己想做的事情,但说到底,我只是一个普通人。只能说我希望有一天能够获得足够的自由,解放自己,去做喜欢的事。至于成为像他那样的技术大佬,这辈子大概是没有可能了。可惜我没有那么多资本,也没有做量化的朋友,更没有他那样的才华,能够积累如此多的财富。想到这里,还是忍不住叹一口气。

不过,这次让我产生如此强烈感触的,除了那篇文章,还有这学期的操作系统课。

缘起于我偶然间刷到了 JYY 的《操作系统》课程。早就听说他是 NJU 最受欢迎的老师,名声在外,但一旦开始听他的讲授,你就会很快发现这个老师确实不一样。

他讲 strace,带着学生一层层往下追,看看程序运行时究竟发生了什么;他也会谈论 AI 时代程序员应该怎样工作。他上课没有随大流念 PPT。你能真切地感受到,他在传授自己的技能,也在想办法教好我们。光从这一点出发,就足以令他脱颖而出了。接下来的事情也就顺理成章了。我继续听他的课,观察他使用 Claude Code,阅读他关于科研、教育、软件工程和生活的思考。一个原本只存在于履历和传闻中的强者,逐渐变得具体起来。

以前看到强者,我更多只能看他们的履历和奖项。论文、项目、职位,这些东西告诉我他们取得了怎样的成就,却很难让我真正了解他们。这次我有机会听他讲课,看他怎样工作,读他对人生的思考,尝试着去理解他的想法。这就很不一样了,于是,我也开始试着去品味他。

JYY 的操作系统课讲得非常漂亮,深度和广度都很不错。深度体现在经典论文、阅读材料和有意思的实验上;广度则来自他对历史发展脉络的梳理。他会从问题的起源讲起,介绍前人如何解决,又为什么需要新的方案。这样一路讲下来,操作系统就不再是一堆需要记忆的知识点,而是一个不断发展、不断解决问题的领域。

我尤其喜欢他把抽象的东西变成具体的东西的方式。正如他在绪论里展示的那样,操作系统本质上是一层抽象。使用 strace,我们可以继续往下挖,观察程序调用了什么,看看底下究竟发生了什么。

只要你知道一件事是可以做的,并且知道这件事是怎么做的,就应该能够尝试着把它做好。

我觉得,他说的这句话,他的这种思路贯穿了整个教学系列。

他常在课上说:“Everything is a state machine.”,因此他也被戏称为“状态机仙人”。

计算机里的程序和系统,可以用状态及其转移来理解。可当他说 Everything 的时候,我自然忍不住继续往外想:如果把这种抽象带到物理世界、金融市场,甚至人类社会,会发生什么?如果暂且不考虑量子力学,在宏观层面,世界的运行受到规律的约束,过去发生的事情也影响着今天的状态。计算机系统自不必说;考虑金融社会,本质上似乎也离不开资产负债表,以及围绕它发生的种种变化。再往外推,如果把人文社会的事物进一步抽象,人类社会是不是也在维护着一张由关系、资源和约束构成的表?

当然,这些只是我由这句话引发的联想,还有很多值得琢磨的地方。但我觉得很有意思:一个人能够用如此简洁的方式描述世界,让我开始尝试把原本分散的知识连接起来。大道至简,熵减,这件事可不容易啊。一个强者的厉害之处,往往就藏在他理解世界的方式里。

这门课还有一个意外的收获,就是我学会了用不同的方式使用 AI。

我印象很深的一幕,是 JYY 直接让 AI 使用 strace 检查程序的行为,再进一步处理结果。我突然意识到,有知识储备的人和没有知识储备的人,处理同一个问题,往往会有很大差距。前者知道应该观察什么,应该使用什么工具,也知道如何判断结果是否合理。他们往往能够做得更快、更优雅,也更节省 token。

还有一个让我觉得特别有用的例子,就是 Linux 的 man 命令。手册包含了大量命令和库函数的使用说明,要把整个手册吃透,显然非常困难。AI 时代却给了我们一种像查字典一样看手册的方式:需要的时候查找相关内容,让 AI 帮助解释,再结合实际代码进行验证。JYY 教会我看手册,或者说,教会我用另一种方式看手册。这无疑是对我学习能力的一种启发。遇到一个陌生的问题,我不必把所有资料提前读完、记住,可以先明确问题,再借助工具寻找答案。

程序员的几句老话是 RTFM、STFW、RTFSC:Read The Fucking Manual,Search The Fucking Web,Read The Fucking Source Code。单从这一点来说,上他几十个小时的课就已经不亏了。

而这一切,又让我想到了品味。

我对“品味”这个词的深入理解,来自《禅与摩托车维修艺术》。读那本书的时候,我就隐约感受到,有些东西做得好,有些东西只是完成了任务。两者之间的区别很难用几条规则说清楚,却又真实存在。后来观察 JYY 的课程和工作方式,我才发现这些感受逐渐连接起来。

他没有随大流,选择做一个平庸的人;他选择做一个认真的、较真的人。

他可以发表灌水的文章,在中国没有人会因此受到责备;他也可以上一门平庸的课,念完 PPT,完成教学任务。他早已拥有了一定的财富和选择空间,也完全可以把更多时间留给自己。

可他选择继续做自己喜欢的事情,打磨课程,与时俱进,认真地教学生。他愿意花心思挑选论文、设计实验,也愿意在课堂上展示自己使用 AI 的方式,让学生看到他平时究竟怎样解决问题。

这些选择让我很佩服。

我想,品味也许就藏在这些地方。一个人知道什么值得做,愿意为此投入多少心思,以及面对那些可以轻易敷衍过去的事情时,会如何选择。

看完他的文章和课程,我对强者的形象有了更具体的认识。他们的厉害,体现在知识、能力和成就上,也体现在对问题的判断、对工具的使用,以及对自己所做之事的要求上。

我当然知道,自己和他们之间还有巨大的距离。知识需要积累,阅历需要时间,理解世界的方式也很难一蹴而就。我不知道自己将来能走到哪里,也不敢想象自己有一天能达到怎样的高度。

但这个学期,我确实很幸运,能够通过一门操作系统课,近距离地观察一个自己敬佩的人。我从他的教学里学习,从他的工具使用方式里学习,也从他对人生的思考里获得启发。

接下来,我还会继续看他的《生成式软件工程》。我很好奇,在 AI 已经能够参与越来越多软件开发工作的今天,他会怎样重新审视软件工程,又会给我带来什么新的思考。

至于 AI 能力越来越强之后,人究竟应该保留什么样的判断力,怎样才能做出真正有品味的工作,我暂时还没有答案。

不过,我开始知道自己欣赏什么样的人,也开始留意那些以前容易忽略的东西。这大概就是这段经历带给我的收获。