Skip to content

Latest commit

 

History

History
38 lines (22 loc) · 2.09 KB

00-01-why-this-book.md

File metadata and controls

38 lines (22 loc) · 2.09 KB

为什么是这本书?

这里的《静态程序分析》跟别处的有什么不同?

为什么应该读这本书?

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

2. 本书将试图通过理论和实践的结合介绍这一领域。

中文社区

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

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

英文社区

在搜索引擎上搜索英文关键词,你应该能搜索到国际上的大牛们的教材式的PDF文件和相关论文,或是开源的静态分析程序。但同样缺乏教程。大多数材料要么艰涩难懂要么太过粗浅。根据粗略的访问与调查,目前业界中主要还是大型的、国际化的、有前瞻视野的企业重视这一技术的发展应用,而中小企业则对其并不了解或认为静态程序分析技术仍不成熟。

理论与实践的结合

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

本书写作的目标

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

  1. 在阅读本书时能较为轻松地理解理论
  2. 能够自主完成一个简单的程序实现
  3. (任何人都)能在阅读过程中接触计算机不同领域的小知识

为什么要写这本书?

  • 最主要的动力还是老师现场授课时我感受到的passion
  • 这是一个少有人涉足的领域,写这方面的内容很符合我的性格
  • 我从开源社区中获益颇多,找到了合适的机会也希望能为开源社区(尤其是中文社区)作出自己的贡献