这不能脱离背景乱下结论。侯捷老师在他的源码剖析类书(例如《STL源码剖析》)里会写出这样的话,主要应该是为了鼓励读者从源码学习各种知识、内在机理,而不必畏惧规模比较大的源码的复杂度而不敢去读。
当然,从实操角度看,“只靠读源码来学习”通常不是特别有效的办法。侯捷老师想来也不是要忽悠大家光靠源码就能揣摩出所有知识,而是应该把它作为吸取知识和经验的一个途径。源码经常要处理些麻烦的现实问题从而掩盖了其原本的最主干的思路脉络。如果能结合论文、专业书籍学习相关理论知识再来读源码,想必能事半功倍。
如果硬啃源码但不理会其背后可能蕴含的理论基础,那很容易捡芝麻丢西瓜,只见树木不见森林,让“了无秘密”变成了一句空话。不幸的是这种情况也是常态…所以vc大大说“理论值”我觉得也对。
之前我组织过一次“JVM源码阅读活动”,但我那次实际上是建议大部分同学不要从源码入手学习JVM,原因正在此。
传送门:
第0回JVM源码阅读活动另外如果遇到程序出现奇怪的行为想要去了解原因的话,那读读源码还是很有好处的。
后面
@叔度的回答我也很认同 >_<
侯捷老师的这句话跟写程序不需要形式化证明完全没关系吧。不知道为啥后面有些回答会从这个角度切入。