说起C语言方面的书,你最先想到的是哪一本?不论图书本身是好是坏,反正我想到的是谭浩强的《C程序设计》——它已然是一部“圣经”了。那么,为什么赵岩老师还要写一本《C语言点滴》呢?带着这个问题,我翻开了这本书。

等一等,我为什么要读这本书?赵老师说,本书的读者对象是各种层级的C语言学习者。我已经学过C/C++,我也不想再学了,不是因为我自命不凡,而是因为我已经不再是程序员了……读这本书,也许我只是为了解开上面的疑惑吧。还有一个问题是,在Java已经成为“2013年最吃香技能”的形势之下,我们为什么还要学C语言呢?C语言真的有用吗?程序员大牛Jeff Atwood也说,“生命中最困难的,是想清楚你真正想要做的事情,而不是学上一堆假设将来会有用的东西。”——很期待赵老师在书中给出解答;他也做到了!

都说赵老师幽默,当我读完了前两章,我便深刻体会到了。虽然本人与赵老师素未谋面,但读他的书感觉就像听一位老朋友说话那样亲切。有这么一位风趣的老师带领着走进C语言编程殿堂,我禁不住羡慕赵老师的学生们——你们有多么幸运啊!赵老师的文字很潮,我特别喜欢他穿插在正文里的各种段子(尽管很多段子未必是他的原创),诸如:

  • 程序员喜欢穿牛仔裤和T恤衫……让别人一看就知道自己是干什么的,这样小偷不偷,女孩不理,连狗都不咬……嫁人要嫁程序猿,钱多话少死得早。
  • 要想在中国出人头地,必须要领会老子、庄子和孙子的精神,简称“老庄(装)孙子”精神。
  • 如果程序是一个人,正确的数据结构就像是强壮的体格,高效的算法就像是高尚的性格,而语言,只是一件外衣而已……纠结于语言的程序员,就像是只关注外衣是否漂亮的小姑娘。凡是能够流传千古的作品,你会发现都是不穿衣服的……
  • 这个世界上只有两种产品,一种是没人用的,另外一种是被人骂的。(这句话用在自己开发的产品饱受用户抱怨时自我安慰多好啊!
  • 编程序中不认真你就输了,生活中认真你就输了!

赵老师自己也说了,“写书和教课一样,没必要总板着脸,以为只有这样才有权威,才有人尊重。人们喜欢你,才会尊重你;人们佩服你,你才会有权威。而如果人们只是怕你,大部分只是因为你的位置,怕的不是你,而是你的位置而已。”说得不错吧?这一点对于学生来说可能不会引起共鸣,但我读到这的时候,觉得它特别有警示作用——仅凭这一点,已不枉我翻阅这本书了!

上面提到,如今的我已经不再写程序,因此我也不太关注C语言的细节了。于是,对于第3~ 13章的内容,我只是匆匆扫了一眼。如果你还是在校学生,或者是C语言的初学者,这一部分恰恰是你要精读的,因为这些内容是赵老师多年教学积累下来的经验,是整本书的精华所在。赵老师给出的读书方法是,“在阅读本书的时候,你手中应该有一本教材。当你对教材中的某些地方不太明白,或者是实际编程的时候遇到了一些问题,而教材又没有给出相关的答案的时候,这本书就是你最好的辅助教材。”我相信,赵老师在书中会给你指点迷津,他对C语言重要知识点的讲解必定会让你豁然开朗。

最后一章叫“进阶之路”,我也读了。赵老师颇有师者风范,鼓励大家独立思考,处处充满着人性的关怀。当你学习C语言小有所成时,他还不忘给你指明新的方向,以免让你成为井底之蛙。赵老师说,“任何学科、任何工作,抛去风光的外衣,都有一个坚硬的核,看你能不能咬穿它”,勉励大家不畏艰难,要像下面这个段子里的小狗那样一直往前走:

小狗问妈妈,幸福在哪里,妈妈说:“幸福就在你尾巴上。”小狗不解,妈妈说:“如果你一直追幸福,就只会在原地打转;如果你一直往前走,幸福就会跟着你了。”

书到用时方恨少,程序写起来才知自己根基不牢。(当然,后半句是我杜撰的!)我赞成多读书,尽管很多程序员已经不读书了。在我看来,学好C语言就是打好自己成为职业程序员的根基。有了《C语言点滴》的陪伴,你的学习过程就不至于那么无趣。

赵老师在本书的前言里提到了他的理想:以后某个同学问学习C语言用什么书时,大部分人都会对他说,“选某某教材,另外再加上赵岩的《C语言点滴》。”我觉得这个理想很低调、奢华、有内涵!这本书的品质决定了,这个理想并不遥远。最起码,等我儿子长大后想学编程的时候,我会递给他这本书的!

《C语言点滴》书评的更多相关文章

  1. 《嫌疑人X的献身》书评

    <嫌疑人X的献身>是日本著名推理小说作家东野圭吾的代表作之一.1985年东野圭吾以一本<放学后>出道,出道初期善于写精巧细致的本格推理,后期文笔愈发老辣.简练.2005年东野圭 ...

  2. 东野圭吾--嫌疑人X的献身读后感

    经推荐,打算看日本大作家东野圭吾的<嫌疑人X的献身>.书很薄,八开大小的书两百多页,一下午的时间差不多就能读完.读了前面几章,代入感很强,压抑浓郁的气氛着实让人难受,所以打算先看一下电影, ...

  3. 扒一扒自从买了kindle后看的书

    一.<性别战争> 讲述的是动物界各类动物的xxx(你懂的),以动物拟人化的口吻来进行问答,十分的生动形象,虽说和自己的生活没有多大联系,但是偶尔了解一下,也是意外的不错的感觉. 二.< ...

  4. Movie

    情书   av1300192最完美的离婚  av1304160梦旅人 av1126580NANA真人版电影  av1608482为了N  av1815256恋爱写真  av710199笃姬  搜狐天皇 ...

  5. CXF(2.7.10) - RESTful Services

    1. 定义 JavaBean.注意 @XmlRootElement 注解,作用是将 JavaBean 映射成 XML 元素. package com.huey.demo.bean; import ja ...

  6. Java的暑期作业

    Java暑期作业 一.<恶意>读书笔记 <恶意>是日本作家东野圭吾写的推理小说之一.看完后不禁为东野先生的奇特的写作手法以及书中所展现的人性的丑恶所震撼.我认为这本书相较< ...

  7. 欢迎访问我的独立博客 tracefact.net (2019.1.30)

    欢迎访问我的独立博客 tracefact.net 长期以来,我都同时维护着两个博客,博客园和 tracefact.net,感觉有点分散精力,所以博客园以后不再每篇文章都同步更新了. 我会挑个别比较好的 ...

  8. kindle完结书单

    1.一个人的好天气---青山七惠 2.嫌疑人X的献身---东野圭吾 3.活着---余华 4.最漫长的旅行---Nicholas Sparks 5.解忧杂货店---东野圭吾 6.追风筝的人---卡勒德· ...

  9. 爬虫系列1:Requests+Xpath 爬取豆瓣电影TOP

    爬虫1:Requests+Xpath 爬取豆瓣电影TOP [抓取]:参考前文 爬虫系列1:https://www.cnblogs.com/yizhiamumu/p/9451093.html [分页]: ...

  10. 初学html,任务1:一个简单html页面,要求:内容页面装一篇文章 用html来分段

    这是主要内容部分,用html实现版块分布. 接下来是样式部分. 让页面所有元素的padding和margin都设置为0 : 否则加入一张大的覆盖的背景图片后,会由于浏览器的缘故,图片周边有白边: 设置 ...

随机推荐

  1. SSH(struts2+hibernate+spring)总结

    1 前三个文章 是我对ssh的具体实现 虽然没有真的写一个ssh的例子出来 但是 意思应该传达到了 主要还是注解注入的ssh太模块化了 感觉写出来意义不大 个人水平有限 说不清 2 我一开是写的是st ...

  2. Nginx+tomcat配置集群负载均衡

    开发的应用采用F5负载均衡交换机,F5将请求转发给5台hp unix服务器,每台服务器有多个webserver实例,对外提供web服务和socket等接口服务.之初,曾有个小小的疑问为何不采用开源的a ...

  3. android基础-界面开发注意事项

    做安卓开发时一定要注意,主线程不能更改UI界面,如果出现程序运行时崩溃的情况,如果没有明显的语法错误,请检查自己的进程是否出现冲突,崩溃.如果有与后台的连接,即请求向服务器发送请求的时尤其需要注意,或 ...

  4. Mysql数据库连接报错!1130:host XXX is not allowed to connect to this mysql server

    我猜想是可能是连接的用户权限问题.结果这样子操作mysql库,可以解决此问题.在本机登入mysql后,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从”localhost” ...

  5. C# 基础问答

    1.静态变量和非静态变量的区别? 2.const 和 static readonly 区别? 3.extern 是什么意思? 4.abstract 是什么意思? 5.internal 修饰符起什么作用 ...

  6. python笔记一(语言简介、解释器、输入输出)

    一.python语言简介 一顿狂吹python目前有多火.多NB,哈哈哈,不过用起来心情确实很舒畅. 解释性语言:缺点,运行速度慢. 二.python解释器 与C.C++.java不同,以上都需要先将 ...

  7. MySQL 数学函数

    MySQL 数学函数 所有的数学函数在发生错误的情况下,均返回 NULL. -元减.改变参数的符号 mysql> SELECT - 2; -> -2 注意,如果这个操作符被用于一个 BIG ...

  8. Linux下MySQL 数据库的基本操作

    1. 创建数据库相关命令: 首先,下载MySQL相关软件包:aptitude install mysql-server/mysql-client MySQL中的root用户类似于Linux下的root ...

  9. jboss规则引擎KIE Drools 6.3.0 Final 教程(3)

    在前2部教程中,介绍了如何在本地运行.drools文件以及使用stateless的方法访问远程repository上的规则. KIE Drools还提供了一种叫有状态-stateful的访问方式. 运 ...

  10. Android6.0 init 深入分析

    之前写过一篇关于android5.0 init的介绍,这篇博客是介绍android6.0init,之前有的代码介绍不详细.而且分析 解析init.rc那块代码也没有结合init.rc介绍. 一. ma ...