不孤单

最近某天,我在图书馆的书架上看到一本技术书。标题和封面都很合眼缘,便随手抽下来翻了翻。结果越看越入迷,那感觉,真叫一个酣畅淋漓。

这书很难。我甚至不想推荐身边的朋友去读它,就像我不会推荐小学生直接读原版《红楼梦》一样。

准确地说,它需要不少前置知识,包括 C++17 的库、设计模式基础、模板推导等等。缺了这些,读起来大概会很磕绊:要么搞不清书里到底在说什么,要么无法理解那些弯弯绕绕的实现方案究竟是在解决什么问题。

很幸运,这些前置知识,我恰好都有。因此,我读起来异常顺畅,思路几乎不受阻,颇有些“一路通关”的快感。读到中途时,我忽然意识到,自己已经调动起了最深处的技术储备。若这书再难一点,恐怕我就得频繁停下来查资料,或者掩面沉思,琢磨那些尚未悟透的东西了。那感觉,有点像突然被拉去参加一场资格考试。费尽全力,最后刚好六十分通过。“没有一分是浪费的”。

书里讲的是一个我过去没怎么系统接触过、却一直很想了解的细分领域。里面的大多数内容,对我而言都是新的。又或者,它把我过去那些零散的理解,忽然串联在了一起,让我第一次能够更系统地看待它们。

总之,这书里的几乎每一章,都在实实在在地丰富我的知识,没有哪一章是我可以轻松跳过去的。这种体验,对我来说其实很少见。以往读编程书,经常会遇到一些“老鸟可以跳过”的内容,或者“以前已经在别处看过”的东西,但这本书几乎没有。

它像一个特价买来的糖果大礼包,拆开之后发现,里面每一颗糖居然都是新的。没有凑数的,也没有早已吃腻的。全是惊喜。

读书过程中,我偶尔也会冒出一些小疑惑:这到底是怎么回事?这种设计在特殊情况下会不会失效?这个实现为什么如此迂回,它究竟是在克服什么现实问题?

有趣的是,当我带着这些问题继续往下读时,往往会在后面的三五页里找到答案。有些是作者直接说出来的,有些则是我顺着作者的思路,自己慢慢悟到的。读书这件事,本来就是不断从疑惑走向恍然大悟的过程,像坐过山车一样,刺激。

而且,这书里的东西,不只是新,还常常新得很巧,很妙,甚至有些“神奇”。常听说有人读书读到精彩处,会忍不住拍大腿。我以前对此将信将疑。结果这次看书时,我自己居然真拍了好几次。确实妙不可言。

当然,书也不是完美的。它对某些概念的总结,其实还不够系统。有时章节后的总结里,甚至会突然冒出一些前文没提过的内容。可奇怪的是,当我读到那里,细细琢磨一会儿,又会觉得:这里好像还真需要这样一点补充。

这书讨论的,本就是一个尚未被充分开拓的领域。我看到的,并不是一个已经把地图完全画好的人,更像是一个仍在摸索道路的先行者。很多地方,作者似乎也还在一边实践,一边整理自己的理解。而更巧的是——他的兴趣方向,与我相当接近。

读到这里时,我忽然觉得,这些年自己零零碎碎想过的东西,并不只是毫无来由的空想。至少,还有人在认真地研究它,整理它,并试着把它写出来。而愿意把这本书读下去的人,大概也不会太少。

前面我说,这书读得酣畅淋漓。但请不要误会,我并不是一两天就把它读完的。前前后后,我每天抽一些时间,差不多花了一个月才看完。技术书不是小说,要真正吃透,并不容易。骗人容易,骗自己难。

孙正义当年说,自己在医院住院时,两年读了四千本书。后来医院工作人员出来揭露:他说的书,很多其实是漫画。这倒也合理。一周时间看完四十二卷《龙珠》并不难。但若想在一周内真正消化完《微积分》或者《几何原本》,那恐怕就不是正常人该有的期待了。

末了,再说说书名。

这书的名字很朴素,叫《C++函数式编程》。我很喜欢这种“有一说一”的风格。

如今这年头,浮躁气越来越重。国外甚至有把《线性代数》课程改名成《人工智能的数学基础》的事情。假若这书将来被引进国内再版,我怀疑很可能会被套上一个花花绿绿的腰封,再写上几句专门按摩焦虑的话,比如“AI时代程序员必备编程范式”,或者“写出让领导秒懂的 C++”。倘若真变成那样,我大概不会喜欢。

不过话又说回来——我不喜欢,有的是人喜欢嘛。

  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!
  • Copyrights © 2024-2026 刘清
  • 访问人数: | 浏览次数: