纸上得来终觉浅,绝知此事要躬行

       最近三天都在看一篇论文《What every programmer should know about memory》,看了三章,延伸出来的问题也有很多。比方说并行计算机体系结构中的cache一致性协议研究等,我对这篇文章最感兴趣的部分是第六章:程序员能做什么,来提高程序的性能。在阅读的过程中,费了很大的力气去搞懂cahce的实现和性能测试的细节,但是,我的迷茫在于,我貌似没有拿的出手的实验code来验证自己的掌握程度。

       我意识到我存在的问题是:我这样单纯得看理论知识,而不去真刀真枪的编写高性能程序,是没有目的和效率的学习方法。╮(╯▽╰)╭,上了这么多年学,居然不能够践行正确的学习方法。
进入一个领域,如果刚开始就实战,必然会陷入到各种小细节中,被琐碎的不相关的概念羁绊了脚步;如果已经掌握了该领域的整体架构,还不进行实战,那就是眼高手低,所学也必然虚无。比较科学的方法应该是这样:在刚接触一个新的知识领域时,必须阅读该领域的一两本在理论上和时间上提纲挈领的著作;然后,就要从解决实际问题的角度出发,进行以下步骤:调研问题、思考、设计、实现、测试;在解决问题的过程中,发散性的阅读相关资料。经过一段时间的淬炼之后,就需要进行进一步的总结。
       我在这里强调的就是,我的目标是解决实际问题,我的主线也是由此而展开。当然,对于该领域的响当当的著作和论文以及优美的开源项目,也是坚持学习并将之添加到自己的知识架构中以及应用到实践中。

在考研的过程中,曾经认真得研究过马克思主义原理,被其中的实践与认识的关系;普遍性与特殊性理论等所折服,但是,在生活中运用得却还不到位。真是:纸上得来终觉浅,绝知此事要躬行。

原文地址:https://www.cnblogs.com/javaadu/p/11742694.html