最近在读一本计算机类英文书籍,全名是Computer Systems A Programmer’s Perspective,简称CSAPP,中文名是“深入理解计算机系统”。这几个月断断续续读了400多页,收获很多,尝试各种方法提升阅读效率,有一些经验跟大家分享一下。
1.有一定的英语基础,英语太差很难读下去,容易半途而废,但是也不是说英语一定需要多好,可以边查边读,我现在也经常碰到一些不认识的单词。我认为英语不好很难在计算机相关技能上有突破,计算机是英语世界的产物,最专业的的资料都是英文的,最顶尖的计算机人才大部分也是以英语作为母语的。这本书我2018年就买了,之前一直想读,但是每次读几页就放弃了,今年英语大幅度提升,CSAPP才有机会读得下去。
2.明确这本书对你的价值,比如CSAPP是前同事推荐给我的,我试图通过这本书理解计算机的本质。这本书作者是卡耐基梅隆大学计算机学院的两位教授,卡耐基梅隆大学计算机全美排名第二,这本书在全美很多高校都是计算机专业的教材,所以书的内容肯定是没有问题的。当时前同事花了2个多月读完了这本书,他的目的是出国工作,这本书帮助他通过了面试,最终他去了英国facebook。当然如果看完并理解了CSAPP这本书的内容,在国内互联网大厂找一份技术类工作应该也不难。
3.有明确的目标,比如我给自己设定了一个目标,一年的时间把这本书读完。我就会给自己定一个闹钟,每周末提醒自己读这本书,不求读得多快,但求每周都有进展。我是目标驱动型,这样做了之后会倒逼着自己去阅读,尽管有时候也非常不想读。
4.梳理书的脉络和逻辑能够帮助我们更好的阅读,比如CSAPP就分为三个部分,第一个部分讲程序跟硬件之间的交互,第二部分讲程序跟操作系统之间的交互,第三部分讲程序之间的交互,顺着这个逻辑就能够很好的理解每一个章节的内容。
5.带着问题去读书,问题能够激发思考和好奇心,你会想尽办法去找到答案,这样读书的时候会很专注。比如我对链接器感兴趣,想知道它是在哪个阶段工作的,就会直接找到对应的章节进行学习,原来链接可以在编译环节做,也可以在程序加载的时候做,还可以在程序运行的时候做。
6.写代码,CSAPP里面有很多作业,很多都需要写C语言代码,写代码对于理解细节会有很大帮助,也能锻炼代码能力,这部分需要投入很多时间,我也做的不好。
发表评论