2022 年读的一些书

最近一年读了不少书和杂志,有电子版也有实体书,收获还是蛮多的,主要偏技术一些,希望 23 年能扩宽一下阅读范围。

技术书籍

技术书籍偏 C++ 以及一些底层的技术,英文为主。 选英文版主要原因有两个吧,一是有些书没有中文版,即便有,翻译的也很晦涩难懂,我倒不怪罪译者的水平,技术书籍确实比较难翻译得平易近人。(打比方说我比较敬仰的 C++ 骨灰级程序员 侯捷老师 的技术水平肯定是一流的,但是翻译的书也是很晦涩,可读性比较..)

  1. Effective Modern C++

    Scott Meyer 著作,每次读都会有新的收获,技术点讲的非常的细,比如关于 std::move 和 universal reference 就花了一章来介绍,各种想不到的 case. C++ 真的是了解的越多,就发现不了解的更多。 建议阅读英文版。

  2. Advanced C & C++ Compiling

    Milan Stevanovic 著作,讲解了一个程序的整个生命周期是怎么样的,静态库、动态库,静态链接、动态链接的细节实现等等,是一本修炼内功的一本好书。似乎也有中文版本,不确定翻译的怎么样。

  3. C++ Move Semantics

    Nicolai M. Josuttis 在 2020 年出版的一本书。难以想象 C++11 带来的 move 竟然能写一本书。如果你对 Value category,move 语义,rvalue,perfect forwarding, universal reference 等概念有任何的疑问,或者想更深入地了解其中的内幕,那这本书基本能满足所有的想象。跳着读的,读了有 1/3 左右吧。

  4. *OS internals Volume I - User Mode

    Jonathon Levin 写的三部曲中的第一部,也是 Mac Os x & ios Internals 的第二版,主要是讲除了 macOS 之外的苹果的操作系统,比如 iOS watchOS tvOS 等。苹果开发者修炼内功的一本书。

  5. LLVM Techniques, Tips, and Best Practices

    Min-Yih Hsu 的一本书,2021 年出版,比较新,主要讲了 LLVM 的构建系统,clang 的架构,以及整个编译链的介绍,以及如何在每一环进行扩展,编写自己的工具。

    我比较感兴趣的是写 AST Matcher Plugin 来编写定制化的静态检查,以及 Pass Plugin 扩展 Pass 处理链条。基于前者实现了几个静态检查,比如使用 shared_ptr 的类构造中不允许调用 shared_from_this () 否则会报错。 还使用 PassPlugin 实现了一个简单的 AOP,通过拦截编译器生成的函数,注入函数调用指令,感兴趣的可以看看这里

  6. Learn LLVM 12

    Kai Nacke 2021 年的一本书,是上本书的姊妹篇。和上面那本相比,这里讲 IR 的比较多一些。看了有 1/3 吧,主要还是和上面的交叉互补着看。
    这两本书都是 Packt 家的书,正好春节的时候搞促销活动,$5 / 月 随便看,他们网站阅读非常好,比电子书体验好很多,比较推荐,有需要的可以关注。

媒体 & 杂志

  • 媒体的话,只订阅了 NYTimes,新闻比较实时,有一些非常有见解的文章。但是有些方面还是屁股决定脑袋,所以难免,客观去看待吧。
  • 杂志主要英文,主要是为了提高除技术之外的英文阅读能力,扩展一些视野。
    1. Scientific American 推荐指数 ⭐⭐⭐⭐⭐
      偏科技类的文章居多,目前是在淘宝上按半年订实体书。起源是这样的,本来是随便翻一翻,结果看了去年介绍 詹姆斯韦伯 望眼镜的一期,介绍的非常详细,收获很大,果断订了实体书。书的质量也很好,插图很精美,文章介绍的通俗易通,比抖音上各种科普视频强太多了。
    2. Reader’s Digest 推荐指数 ⭐⭐⭐
      适合没事儿时候翻翻,上面有一些有意思的小故事