这本书购于去年七月,八百多页。纸张大,印刷密度大,不到600页的《C++ Primer》就够厚了,这本更是让人望而生畏。
我本专业并不是软件开发,属于半道出家,一提程序就头疼,去年买了这本书后就束之高阁,直到今年年初认为本来程序就烂,买了书还不读,再这么下去就是自取灭亡,于是制定了详细的读书计划,每天读。当时豆瓣上有人说每天读两小时《Thinking in Java》,一个月内可以啃下来,于是我照做。其效果如同背俞敏洪的《GRE核心词汇》。第一周还能坚持,第二周速度就慢下来了,到了第三周,回头翻之前看过的,发现全忘了,接着崩溃。
后来又断断续续地坚持了一段时间,还是捡了芝麻丢了西瓜。直到一个月前,因为有很多Java作业一直拖沓着,还有项目要做。于是从简单的作业入手,先一个一个解决作业。第一个作业是关于Swing和多线程的,于是我先把这本书里的多线程和Swing两章看了一遍,看得很痛苦,读过这本书的大牛的人都知道,这本书关于Swing没有图例,而且本书代码格式很丑。好容易过完多线程和Swing两章,发现作业还是不会做。接着崩溃。
后来想,不管了,作业能写多少写多少,开始直接上手敲代码,因为会的不多,程序里的代码全是最简单的控制语句,实在编不出来了就回头翻这本《Thinking in Java》,看看有没有什么解决方案,就这样,一遍遍敲,一遍遍看书,一遍遍优化,一遍遍测试,一遍遍调试,第一周的时间里解决了第一个作业,接着在下一周里完成了余下的所有作业。
再回头看看这本《Thinking in Java》,发现不知不觉中,这本近900页的书已被我看得差不多了,很多书页也被翻黑了。
我居然看完了这本曾被自己诅咒过无数次的大部头。
不能不说的是,这本书真无愧于经典二字,内容涵盖到了Java SE的所有方面,语言轻松,可以透过字里行间体会到作者的可爱,但为什么当初无论怎么都看不进这本书呢?
我发现对于程序员而言,读一本新书不能像其他学科那样从第一页开始慢慢啃,技术重在用,重在将大脑中的灵感转化成现实。程序员要有敢想敢做的胆识,不会没关系,做的时候如果你的想法无法转变成现实,你会有种急迫地想要学习的冲动,这时候再回来看书,只看自己不会的和想看的,你会发现收获异常大。
有人说,这样做可能会导致自己的内功不深厚基础不扎实,我认为内功深不深厚基础扎不扎实取决于看什么书。当然,如果这本书只看一遍,神也bless不了你。
PS:因为这本书,我爱上了Java,爱上了面向对象,爱上了编程,但是我还是对底层的东西不感兴趣,在现在这个技术高速更迭的时代,我固执地认为程序员需要的是将已有的东西重组创造出新东西,想法和创意很重要,Java的诞生本就是为了解放程序员的大脑,让大脑们用有限的时间和精力去做更有意义的事情,一股脑地强调底层基础不符合面向对象的精神。面向对象的精神是什么?复用。
好了,我准备再读一遍《Thinking in Java》去啦~