Skip to content

Latest commit

 

History

History
39 lines (23 loc) · 2.1 KB

00-02-why-this-book.md

File metadata and controls

39 lines (23 loc) · 2.1 KB

为什么是这本书?

你说的静态程序分析似乎有点儿用处,那么哪里可以学到呢?

为什么应该读这本书?

1. 当前的中英文社区都缺乏这一领域的入门材料。

2. 本书将带领读者,通过理论和实践的结合了解这一领域。

中文社区

在搜索引擎上搜索相关中文关键词,你会发现结果靠前的答案都是与某南的李老师相关的课程在B站上公开视频的笔记,其中有不少写得很好,但并非面向一般学习者开发者的教程。这两者有重要的区别:

  • 笔记:面向自己复习使用,只要自己回顾时能迅速pick up当时理解到的重点,就是一份好的笔记。
  • 教程:面向学习者使用,一份好教程能让学习者迅速把握领域中的重点,并且为学习者的进一步应用打下基础。

英文社区

在搜索引擎上搜索英文关键词,你应该能搜索到国际上的大牛们的教材式的PDF文件和相关论文,或是开源的静态分析程序。但同样缺乏教程。大多数材料要么艰涩难懂要么太过粗浅。根据粗略的访问,我也了解到业界认为静态程序分析技术仍不成熟。

理论与实践的结合

本书将同时涉及理论和实践,这主要是受到了《The Rust Programming Language》的启发。

本书写作的目标

能让大多数有一定编程经历,已经修过本科计算机基础课程的大四及以上学力(不是学历)的同学:

  1. 在阅读本书时能较为轻松地理解理论
  2. 能够自主完成原型实现
  3. 能在阅读过程中接触CS不同领域的小知识

为什么要写这本书?

  • 最主要的动力还是老师现场授课时我感受到的passion
  • 这是一个少有人涉足的领域,写这方面的内容很符合我的性格
  • 我从开源社区中获益颇多,找到了合适的机会也希望能为开源社区(尤其是中文社区)作出自己的贡献
  • 人类发展的历史重要的两部分是传承和发展。领域先锋发展探索,亦需要有人将新的知识传播开来