今天是“世界读书日”,前几天微博上转发非常多的一条微博:“一日不读书,无人看得出;一周不读书,开始会爆粗;一月不读书,智商输给猪”,确实阅读是很重要的,对此我深有体会。大学四年我读了大量的书,其中大多是计算机技术方面的书,可以说从这些书中我打牢了我专业的基础,是我大学最大收获之一。
今晚回头翻看了一下图书馆的借书历史记录,我自己也被吓到了,到目前为止竟然借了339本之多,主要是在大二和大三借阅的。这也从侧面反映我那时处于迷茫期,每当去图书馆看了什么书说的一门技术我觉得挺新的,管他三七二十一就给借过来了,大多数也只是翻了翻就给还回去了。当然也有几本书是认认真真地看了一遍又一遍,而这些书对我的影响是颇深的。
下面按照大致阅读时间顺序列出十本书:
1.《疯狂的程序员》
这是一本程序员写的小说,描写了绝影等程序员的成长之路,分为大学、工作、创业三部分。书中绝影在大学中每个细节我都感觉那么地真实,仿佛我也将走绝影的道路。绝影的技术不算大牛,但比起身边的同学又不是小菜,每天最多的时间还是对着电脑捣鼓着程序,或因为一个问题不能解决而绞尽脑汁苦苦思索,或因为有了点小小的成果而沾沾自喜兴奋异常。工作的时候,不因为赚多少钱快乐,而因为写程序员快乐。朋友评价:不懂生活!
这本书对我的影响是深远的,从那时开始,我可能已经打心底决定了要做一个绝影式的程序员。
2. 《计算机奥秘》
对于我一个在上大学之前几乎没接触过计算机的学生,高考志愿却选择了计算机专业,源于我心中对IT的崇敬。而一点基础没有的我,刚开始确实很不适应,《计算机导论》课不知是老师讲的太差,还是我基础太差,总之,完全听不懂老师所云。对计算机的懵懵懂,主要是偶然的机会阅读了这本书,我才知道了什么是CPU、什么是内存,磁盘、鼠标、键盘、显示器是怎么工作的。这本书以简洁平实的语言,通过配以插图生动地揭示了计算机背后的奥秘!
一个好老师很重要,但好老师总是可遇不可求,退而求其次,一本好书可以充当好老师的角色,《计算机奥秘》就是我计算机入门的良师!
3. 《高质量程序设计指南》
正如其名,这本书正是要教你怎样编写高质量的C/C++程序,林跃博士以自己编程积累的经验教训向读者论述了高质量软件开发方法与C/C++编程规范。同时,他在网上写的《大学十年》短篇传记,描述的充满激情的学习和生活态度,也曾深深地感染了我。看完之后,略有小感触,给自己今后编程进行了规范,《走近专业程序员——从代码规范化开始》。
大一学C++老师只教了我们语法,至于编程的其它东西一无所知,这本书教会我编程基础不仅仅是语言层面上的,要想做一名程序员,你至少要有良好的编程习惯。
4. 《程序员的自我修养》
以前写程序只知道写完程序点击运行就可以了,大三学汇编语言以及编译原理,那时开始对程序底层运行机制有了浓厚兴趣,这本书正是告诉了我软件的运行机制和原理,一个程序在编译、链接和运行时刻发生的各种事项。这本书很“深奥”(可能是我的水平有限吧),但我一遍又一遍地“啃”,此书在我手上足足呆了差不多有一年的时间,过期了还了再借,直到有人给预约了我不得不还。看完之后当时很有感慨地写了一篇日志:《程序是怎样炼成的》http://user.qzone.qq.com/1025775100/blog/1291990825
我曾想如果我不看这本书,等我到毕业之后都很难说自己是计算机专业的学生,因为我连程序怎么运行的都不知道!
5. 《C和指针》
虽然从大一就学了C(我不好意思说C++,因为学的基本上是C一套东西),但一直对指针却心存畏惧,不愿触及。但大三上学期偶然看了这本书,才发现,指针其实是那么地有趣,然而懂了其中的原理,一切都是那么地明了。那学期很疯狂,课非常多,但每天我都会花时间一字一句地阅读这本书,对其中不懂的地方仔细推敲,每次读完都很满足。而大三下学期去公司招聘,笔试试题关于C语言的,我都很轻松地做出来,这主要归功于此书。
什么叫幸福?幸福很简单,猫吃鱼、狗吃肉、奥特曼打小怪兽,那是我的幸福就是每天能看一会《C和指针》,如此而已。
6. 《C专家编程》
从名字就能知道,此书就是想让你变成C语言的专家,的确,此书讲的东西很深奥,从C的历史、语言特性、声明、数组、指针、链接、运行时、内存以及如何进一步学习C++等问题进行了细致的讲解和深入的分析。每章之后都有一个有趣的故事,从这本书中我第一次听到图灵机、C语言混乱编程大赛等等。
第一次看此书看的云里雾里,后来又看了n遍,我讲此书放在床头,上床还没熄灯的话会翻几页看看,每次都会别有体会。
7. 《算法导论》
从大一酱油ICPC以来,心中隐约有种痛——自己太笨,算法学不会!但一直我不服气,看了N多本算法书,每次看完之后都不能理解,于是在网上买了这本传说中的算法“黑书”。
研究生阶段还是要在算法上摸爬滚打,还是会拾起这本书的。
8.《编程之美》
这本书以“面试的各种小故事,告诉读者微软需要什么样的技术人才,重视什么样的能力,如何甄别人才”开篇,后面陆续讲了很多关于算法和程序设计的题目,每题在算法层面从高复杂度逐步到低复杂度进行讲解。算法是枯燥的,编程之美的美也许就在于对算法不断精益求精的过程,我要读懂这种美还需要一定的时间。
9. 《C++ Primer中文版》
这本书的副标题为“一本久负盛名的C++经典教程”,这不禁让我感到有点遗憾,读到此书时已经是大四下学期了,有点相见恨晚的感觉。本书的作者都是C++权威人物,书中强调重要的知识点,提醒常见的错误,推荐优秀的编程实践,给出使用提示,还包含大量来自实战的示例和习题。这些都是国内教材无法做到的。
当我不用C++很多年之后,再次拾起C++,连最基本的面向对象的知识都不懂,这本书作为我面向对象的入门宝典,即使三年之前我就曾学到过,但再遇到此书之前,我一直不敢自诩学过C++。
10. 《More Effective C++中文版》
大三下参加科大讯飞的培训,有位老师推荐这本书,但一直以来却没有时间阅读,直到现在考研之后终于读起这本书。这本书解释了如何才能编写更高效的C++软件:运行效率更高、更为健壮、更为稳定、更容易移植以及更易于重用。
很认真地阅读了这本书,还做了读书笔记,见我的博客:www.hazirguo.com.