《读编程珠玑有感》——细节处见技术
众所周知,《编程珠玑》是一本程序员的必读图书,作为一名程序员的我,当然不能错过。
最近粗读了两遍,最大的感受就是,这是一本值得逐字逐句推敲学习的好书。
在我看来,书大抵分为两种,一种是娱乐类型的,这种书,浏览一遍即可,而另一种是需要认认真真做笔记,反复推敲的书,这种书可不是那么常见。
这本书的内容想必大家都有耳闻,关于算法。
提到算法,可能大多数人都会觉得那是一门太过深奥的学问,跟我们好像没有多大关系。
作者用一个个简单而生动的例子在书中驳斥了这一观点,所谓算法,不过是我们达到目的的手段而已,并没有什么神奇深奥之处。
一开篇,作者用一个简单的排序例子起头,试问,给我们一个不重复的随机数集合,怎么去排序呢?
我想大多数人都会说,用语言的库,但是如果不用呢?如果对内存空间的限制十分严格呢?
我想这时候大多数人都会感到无奈和一筹莫展。
作者就这一简单的问题出发,用几个精巧而简单的思路解决了问题,让我们看到了程序还可以这样写,不仅仅是简单的复制粘贴,调用API,我们还可以在书写的时候加入更多的思考。
每一章,作者都拿出了一个问题来进行讨论,读罢之后总有余音绕梁之感,后面的习题也在提醒着我们,不要小看那些理所当然的算法,自己做起来可能真的很难想。
也许,只有像书中说的那样,能做到那样的人才能称之为软件工程师,仅仅会复制粘贴,调用API的人只能称之为程序员。
现在太多的人做事只求效率和成败,却忽略了做事的过程,往往这个过程就是这件事里最宝贵的财富。
希望我能有一天成为一名真正的软件工程师吧。