实习期间读了几本计算机领域前辈所做的公认经典著作,每一本都闪烁着作者的思想之光,都值得反复阅读。小小推荐一下:
1.
《软件随想录》(Joel on
Software),Joel公开发表包括博客上的一些文章合集(他的博客似乎很久没有更新了),主要是他从事计算机软件行业多年以来的一些经验之谈,其中关于Joel自己创办公司的一些管理经验很是精辟。但是他极其看重Unix,轻视Windows,看重C,轻视Java的观点,有些不敢苟同,也许,人总是喜欢拔高自己拥有或擅长的那些事物。五星满分,四星推荐。(2012.04.09)
2.
《程序员修炼之道—从小工到专家》,同样是作者对整个领域的一些思考,但更偏重于一些技巧,比较零碎,降低了全书的连贯性,但篇篇经典,适合分散阅读,引人深思。这本书改变我的一些编程习惯,首先就是从文本编辑器开始。五星推荐。(2012.04.09)
3.
《编程珠玑(英文版)》,Bently的超经典之作,本质上讲是一本介绍算法的书籍,神奇之处在于把枯燥的算法描述得很生动,易于理解。虽然只有15个小章节,读来颇有意犹未尽的感觉,但绝对无愧“珠玑”二字,章节末尾的一些习题也很引人深思,限于能力,全书有些算法还没能完全通透,当多读数遍。五星推荐。
(2012.04.09)
4.
《重构—改善代码既有代码的设计》,针对的是Java语言来描述,作者不遗余力的宣扬重构的重要性和可行性,介绍了重构的最常用的一些方法,作者举得重构的例子都很到位,使读者易于理解。“要让重构成为一种设计思想以及习惯”。是现阶段对我最有帮助的一本书,直接拿毕业设计的代码部分来练手,可以用到书中绝大多数的重构方法,一切如作者所说,重构带来了诸多的好处,尽管初期使用会多花不少时间,但IDE的重构功能也带来了极大的方便。五星推荐。
(2012.04.09)
5.
《设计模式—可复用面向对象软件的基础》,公认的经典书籍,四巨头的大作。但亲身经验是,读了前两章却发现云里雾里,看了其他书评,才知道,自己的大型项目经验欠缺,无法理解其中精妙的设计思想。因此这本书还得留到以后再来阅读,才能另有体会。[续]在做一个模拟器时,认真阅读了这本书,对一些模式有了更深的理解,并运用到了项目中去,感觉不错。(2013.08.07)
6.
于是后来选择阅读《Head
First
设计模式》这本书,全书600多页,插图很多,看了近10种设计模式,明显更加易懂,可以与《Thinking
in
Java》中提到一些设计模式互为印证。适合入门阅读,在我看来,能把复杂的东西说简单,也是能力强的表现,五星推荐。
(2012.04.09)
7.
《Thinking in
Java》,关于这本书的赞誉已经太多太多,无需赘言,如果需要初学Java,就应该毫无犹豫的拿起这本书。书不薄,需要坚持,我在听了李老师说他学习Linux的过程后,我毅然拿起了它,每天坚持看20页,一个半月后读完一遍,于Java,有脱胎换骨的感觉,花的时间很值。Bruce既告诉了Java强在哪,也未遗漏Java的弱点,因为只有知道了弱点,才能更好使用优点,人犹如此。与上文中的《设计模式》、《重构》和其他几本书合为Java的“独孤九剑”,本书为总决式(2012.12.15)。
8. 《Effective
Java》,封面上Java之父的话,已经说明了这本书在Java领域的地位,是一本Java的进阶读物,我在看完了第一章后,就喜欢上了这本书,随后的阅读,更是让人心悦诚服,因为里面很多的内容正是我现在需要的。这是一本教你怎样用Java将程序写得更加健壮、灵活、高复用的书。书中指出了很多Java的缺点,如果看到了这些缺点,你仍然愿意使用Java,那么就真是真爱了。(2013.1.7)
9. 《黑客与画家》,作者自身的经历已经是一段传奇,里面探讨了很多并非仅限于计算机学科的话题,更多的内容与社科类的内容相关,包括理想、社会的演变,技术的发展,设计的思想,使用了大量类比的例子,幽默生动,即使是非计算机专业的朋友也应当阅读本书,五星推荐。(2013.1.7)
10. 《浪潮之巅》,介绍IT领域多家大公司的兴衰史,从技术和公司战略角度以及科技的大趋势分析,有点《资治通鉴》的味道,但写法比较灵活,读起来很轻松,即将迈入IT界的年轻人读了这本书,会更有斗志,已经出了第二版,五星推荐(2013.8.7)
11. 《数学之美》,介绍了数学在计算机领域中的应用,优点是写得浅显易懂,一些数学知识也就是初高中的知识点,但运用到计算机领域中,则显示出了强大的生命力。大学时我们总说学的数学有什么用,这本书会告诉你答案:有用,有大用。感叹数学好的人,计算机很容易学好,诶......五星推荐。(2013.8.7)