为何要死磕《编程珠玑》
起
换工作到新天地整日浸淫于资本主义的浮华之后的某一天,我突然将好早之前买的《编程珠玑》带到了公司,希望可以在手边工作暂时做完或者想“放松”一下思绪的时候看一看,掌握一点高深的编程技术。
然而,半年过去了,到了2018年的春节之后,座位都换了,需求都做了一大把了,它还是静静地躺在抽屉里,基本没有被翻开过,所幸的是还好在换位置的时候没有把它扔掉。
这样下去不行的啊,虽然当初具体为什么要买这本书已经忘掉了,之前还在张江住的时候可能也有一些尝试吧,毕竟这么一本薄薄的主要内容才160页的小书还是很容易让人产生“赶快看完它,然后忘记它,心里也能卸下一块石头”这样的想法。
当然失败了,真的是不好读。
豆瓣有精辟评论如下:
这本书绝对不能以平常的习惯来读,平常的书一天才看10页绝对算得上龟速,但是这本书一天看10页绝对是囫囵吞枣!
思考
以上内容是很真实的感觉,过年回来后,即使上了GTD,即使个人效率、学习姿态、努力程度提升了很多,但读起这本书依然好吃力,即使一天只敢安排一章才10页的内容。
越往后,越觉得读了一章,好像没有读一样。思维扎不进去,等于白看,之前与一个高中同学交流也谈到,现在真的很难进入高中那种“一个晚自习就死磕一道数学题的解法”的那种专注程度了。也有可能脑子真的是不够用了。
草草过了一遍,习题没有深入思考,各种细致的分析与闪光的思想,在我飘忽的目光与愚钝的大脑之间溜走,这很可惜。
我是不信邪的,有时候就要跟一个事情杠到底,现在轮到了这本书。
分析了一下,觉得吃力有几部分原因:
- 书中示例使用C++,看起来有些吃力;
- 只看不练,不动手,理解不够,习得有限;
- 涉及到一些精巧的算法优化的设计思路,而很多这些基本知识已经忘掉或者是之前所没接触过的,所以并不是看书的当时就可以理解的,要花时间来复习了解这些根基;
解决思路与计划
基于以上原因,我想了一个主意。
从头开始再看这本书,读到一个需要准备知识、相关准备或者一个不透彻的问题的时候,就停下来,这一天就解决这一个问题,第二天继续推进下去,包括习题,总有一天是可以结束的吧。
而此专题就是与此相关的一个产物,记录一切死磕此书过程中的所悟与思考。
此外,使用Java语言来翻译书中的想法与C++代码,并解决课后习题,刚好也让自己更熟悉Java,同时可以刷Github提交。
最后,可以强化自己的表达,或许,还有文笔吧,使自己有一点输出感,不致与世界疏离愈久。
Github项目地址:https://github.com/guerbai/pearls
平日开发在develop分支,完成一章的内容后会merge到master并打tag。
如果有一天你也看到这本书并感到进行下去有一些困难,希望这些记录可以给你带来一点帮助。
以上。