《C程序设计语言》是C语言的“圣经”,建议每个从事IT的都读一下,里面包含了大师的思想精髓,是国内的C图书所不能媲美的。
之前草草读过一遍,最近心血来潮,在工作之余,重读了该书,这一遍的收获还是颇丰的。
在重读该书的过程中,还是产生了不少新的想法:
(1)读书是有用的:在第一次读该书之前,我还没有接触Linux(本人比较菜),那时候连argc,argv都不知道,更不用说grep等shell指令,所以读起来很吃力,似懂非懂。而在第二次读该书之前,我已经接触了Linux,并且读了不少关于Linux的书。所以本次重读,就没有之前的那么吃力。还记得之前在读其他书籍,并做笔记,有人留言说“读过了,其实没什么用”,当时确实是感觉如此。但是通过本次重读,我发现学到的东西是没有多余的,早晚一天会用到,比如这次重读。当然,我并没有否认上述言论的意思,我只是说那是片面的。并且我也认同,我们应该把读过的书应用到实践中去。
(2)知识的关联性:在读的过程中,特别是到了最后一章,涉及到存储分配的时候,愈发感受到知识的关联性。比如在内存的回收跟分配时的策略,就是在操作系统中着重强调的一点。很多时候都会遇到这种类似的问题,比如说数据库中的锁,日志等问题,其实在操作系统中也都有涉及,很多时候我在想这些知识的最原始的出处是哪儿?到底是谁copy的谁?其实在见过类似很多的例子之后,明白了其实这都是次要的,作为我们这种普通人,只要动了其中的原理就OK了。
(3)刨根问底很重要:之前在博客上看到一句话,感觉非常对头“似懂非懂,就是不懂”。这句话其实并不是什么很深奥晦涩的话, 但是说的确实在理。尤其是在看了一些书之后,愈发发觉自己懂得知识确实不够。特别是从事技术开发。其实真正的技术点就几个,当我们真正明白了,了解了,才能体会其中的乐趣。
(4)精益求精很关键:做事有两种态度:一种是应付了事;第二种则是精益求精。短暂的应付,可能会换来我们一时的“痛快”、“舒适”,但是时间长了,差距就大了。这就是人们拉开差距的原因吧。其实每次在读书的过程中,我们完全可以像读小说一样,一目十行,但是读过之后呢,是不能体会到那种“锱铢必较”的快感的。比如我读本书第一遍的时候,就是草草翻阅,当时就想不明白,我到底为什么在赶进度,难道是为了跟别人炫耀我读过经典书籍?还是为了跟别人聊天时增加一些谈资?反正自己当时也没有想明白。在第二次读书的过程中,细细品味其中的源码,才真正感受到大师的思想,确实高端。代码的紧凑性、规范性都令我汗颜。
(5)真正的技术牛人都是哲学家:说这句话可能比较绝对,但是这是我最近的真实体会。我之前读书一直都是浮躁,根本不能深入其中,肯定也没能体会其中的精华,最重要的是根本体会不到那种成功的喜悦感。在重读本书的过程中,我还同时在读《战胜拖拉》这本心理学的书籍,从本书的阅读中,发觉了自己之前之所以没有深入,之所以浮躁,都是因为自己拖拉。虽然每次都给自己罗列一些计划,但都是在最后的时候把计划干完,从而保证不了质量,当然也就体会不到读书的乐趣,进而也就没有兴趣读书了。确实感觉自己比较幸运,及时发现了这本书,正在慢慢改变自己之前的习惯。很多时候发现很对的技术牛人的头衔出了技术专家,往往还跟着”哲学家“这个词眼,现在慢慢明白了。
以上就是我重读《c程序设计语言》的几点感受吧。希望自己慢慢把其他经典书籍都读起来,并且最好能实践一下。今天是2014年1月1日,希望自己今年能有好的收获~加油!!!