上QQ阅读APP看书,第一时间看更新
第2章 研究方法
我们的目的是要研究Hadoop的源代码,而研究必须有研究方法。这里所说的研究方法是指如何阅读、分析、理解各种计算机程序源代码的方法和手段。实际上对此并没有一种标准的或者公认的方法,各人所用的方法和手段可能都不一样,这里只是把我所用的方法介绍给读者,以期抛砖引玉。
计算机本来就是一个年轻的学科,而如何阅读、分析、理解别人所写的程序,似乎也排不进这个学科,但是却又确实有需要,所以就难免要借鉴一些其他学科的研究方法。在这方面,我认为最值得借鉴的是历史学者们对于文献和史料的研究方法。我们阅读程序代码,就有点像历史学者们阅读历史记载,都是想要从中理出一个脉络、一个来龙去脉,理解当时究竟发生了什么。他们要努力把自己摆进当时的历史环境,力求用当时人的眼光去看待、推测和理解历史上发生的种种事件及其背后的前因后果;我们则要把自己的头脑当成某种语言的虚拟机,例如Java虚拟机、C虚拟机,以理解计算机在执行这些程序的时候究竟会发生什么,以及其背后的逻辑。历史学者们要把各种史料和文献参照引证,从中发现各种事件之间的内在关联;我们也需要参照研究不同程序模块之间的互动,以发现和理解这些模块、这些操作之间的关联。所以,历史学者们常用的研究方法很可能是值得我们借鉴的。