说起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. 总结angular+ionic项目中的问题

    1:tab的路由导向问题 运用ion-tabs时,第一个ion-tabs标签下的href功能会覆盖掉路由中定义的默认路由(进入应用后直接加载href指向的组件). 解决方法:多写一个ion-tabs标 ...

  2. 软件测试assert

    之前实习做过一段时间测试,现做个总结: 实习测试的是一款CM系统(case 系统),来记录IT部门处理的维修,服务,反馈,预定服务等case:b/s架构,人少小项目,实习时间短,去了已经快完工,主要测 ...

  3. Linux系统格式化新磁盘并挂载分区

    Linux系统格式化新磁盘并挂载分区 在虚拟机的设置界面中,我们可以选择添加硬盘 添加好硬盘后,我们输入命令fdisk -l 看到有一个未经分区的硬盘 Fdisk命令编辑这个硬盘 输入n创建分区,p选 ...

  4. url重定向或者重写

    有四种方式:1.urlMappings,返回200状态码 <system.web> <urlMappings > <add url="~/others.aspx ...

  5. ActiveMQ消息传递的两种方式

    1.什么是ActiveMQ? ActiveMQ是apache提供的开源的,实现消息传递的一个中间插件,可以和spring整合,是目前最流行的开源消息总线,ActiveMQ是一个完全支持JMS1.1和J ...

  6. 微信小程序 --- 无法跳转到tab页面问题

    首先检查你的跳转方法,如果是wx.navigateTo(OBJECT)或者是wx.redirectTo(OBJECT)都是无法跳转的,在微信小程序中如果需要跳转到具有tab的页面必须使用wx.swit ...

  7. java里String类为何被设计为final

    前些天面试遇到一个非常难的关于String的问题,"String为何被设计为不可变的"?类似的问题也有"String为何被设计为final?"个人认为还是前面一 ...

  8. 转:函数signal()

    from:http://blog.sina.com.cn/s/blog_4b226b92010119l5.html 当服务器close一个连接时,若client端接着发数据.根据TCP协议的规定,会收 ...

  9. JS中的DOM— —节点以及操作

    DOM操作在JS中可以说是非常常见了吧,很多网页的小功能的实现,比如一些元素的增删操作等都可以用JS来实现.那么在DOM中我们需要知道些什么才能完成一些功能的实现呢?今天这篇文章就先简单的带大家入一下 ...

  10. ACM Primes

    Write a program to read in a list of integers and determine whether or not each number is prime. A n ...