原创 C语言四书五经收藏

我们来说说C语言方面的图书。什么,C语言?有读者奇怪了。没错,这一次的主角就是诞生于1973年如今已经儿孙满堂的C语言。我们之所以要谈及C,不仅仅是因为它的影响深远,这完全可以从C系列语言家族的兴旺发达得到证明:C++JavaC#以及Objective CC的子孙先后成为软件业或者各种操作系统上的主流语言,雄霸多年,至今不衰。我们的理由主要来自C语言自身的魅力。30多年之后,它并没有因为岁月的流逝而失色。无论是TIOBE这个编程语言风向标,还是图书市场的销售情况都表明,在儿女辈的C++甚至都略显疲态的今天,C竟然是仅次于Java的第二大语言。 

C语言相关的图书虽然数量一直不少,但往往取材于相似的资料来源,总体质量不高。而从市场销售数据的来看,许多读者在选择C方面的图书时仍然比较盲目,存在一定劣币逐良币的情况,这在很大程度上已经成了许多软件开发人员基础不牢、坏毛病较多的病根之一。  

经典

与其他主流语言中往往有几部著作堪称不可替代的经典不同,C语言的世界里只有一本书拥有这样无上的地位,它当然就是C语言之父Dennis Ritchie和另一位技术专家Kernighan合著的这部不朽之作:

C程序设计语言(第2版·新版) Brian W.Kernighan, Dennis M.Ritchie 徐宝文 李志 译 机械工业出版社 30元

本书经常被人简称为“K&R C”(K和R分别是两位作者姓氏的头字母),它在程序设计语言图书中的地位几乎与C在程序设计语言中的地位相当。许多书开始用输出“Hello World!”作为第一个例子,就是从这里来的。有意思的是,最近又有人批评这一惯例容易使学生产生编程很容易的错觉,产生了许多后续问题。虽然也言之成理,但是总有些苛刻了。

本书具有许多贝尔实验室大师们作品的一致优点,篇幅很小,但是内容却非常丰富,而且叙述也非常清晰。与大部分father写的作品一样,它主要还是针对有一定编程经验的读者而写的,不是完全的入门读物。当然,这也为他人编写形形色色的入门教程留下了空间。对了,本书还有配套习题集《C程序设计语言(第2版·新版)习题解答》(机械工业出版社,2004),也有影印版。

C标准库 P. J. Plauger 徐明亮等译 人民邮电出版社(即将出版)

函数库是编程语言的重要组成部分。但是此前出版的所有C语言著作中,对函数库都缺乏非常全面深入的阐述。本书的出版,将很好地填补这一空白。作者是著名的C/C++专家,曾经担任标准化委员会主席和C/C++ User's Journal的主编。更重要的是,他本人是一位著名的函数库开发者,为许多主流的编译器厂家提供函数库实现。本书几乎做到了极致——完整给出了C标准库的实现源代码,并一一进行解说。这使它有了与K&R C并列的资格。

入门

我经常感到纳闷的是,其实C语言方面近年来已经出了不少优秀的入门书,但是为什么还是有很多读者和老师放着好书不用,仍然在选择那些已经不能适应现在要求的、问题很多的传统主流教材甚至翻抄滥造的书呢? 

总的来看,目前比较好的入门图书有翻译自国外的,也有国内原创的。相对而言,这些优秀教材有一个共同的优点,就是能够紧密结合开发实战,是为用而教、而学,而不像有些国内教材,因为作者本身往往缺乏实际软件开发经验,只能为教学而教学。由此带来的特点包括:注重软件工程,注重读者正确编程习惯和风格的培养,从实战需要出发选择侧重点,而不是平面化地去讲述各个知识点。 

C语言程序设计:现代方法 K.N.KING 吕秀锋 译 人民邮电出版社 55

有人称赞本书为10年来最好的一部C语言著作。已被全球200多所学校采用为教材,包括哈佛大学、麻省理工学院、斯坦福大学等诸多名校。书中对C语言主要知识点包括函数库的涵盖都很全面深入。有些遗憾的是,此书原版出版时间较早,无法纳入C99标准的新特性。不过,新版今年已经出版了,中文版相信也会很快更新。 

C程序设计经典教程:第4 Harvey M.Deitel,Paul J.Deitel 聂雪军 贺军 清华大学出版社 43

另一部大名鼎鼎的C语言著作,教材采用也很普遍。新版涵盖了C99

 

C Primer Plus中文版(第五版) Stephen Prata 人民邮电出版社 60

一本条理清晰、见解深刻的C语言教程。涵盖C99。内容很全面。  

此外,还有Stephen KochanC语言编程(第三版)》(电子工业出版社)、Eric RobertsC语言的科学与艺术》(机械工业出版社)、HanlyKoffmanC语言详解(5)》(人民邮电出版社)等都是比较优秀的入门教材。国内近年出版的之中,哈工大苏小红等的《C语言大学实用教程(第2版)》(电子工业出版社)、四川大学陈良银等的《C语言程序设计(C99版)》(清华大学出版社)是其中的佼佼者。

 

进阶

C专家编程

PETER VAN DER LINDEN 徐波 译 人民邮电出版社 45 

C陷阱与缺陷 ANDREW KOENIG 高巍 人民邮电出版社 30

C语言没有Effective C这样的著作,其空白大概只有这两本书可以稍微填补,都属于不朽经典之列。最近中文版再次出版,反响热烈。 

此外David Hanson的《C语言接口与实现:创建可重用软件的技术》是lcc作者之一的呕心之作,本来价值极高,但是毁在了翻译上,无法推荐了。

 

实战

C语言解惑

ALAN R. FEUER

杨涛

人民邮电出版社

29

本书内容最初是贝尔实验室的内部培训资料。作为C语言学习的辅导书,非常有用。

 

C语言名题精选百则技巧篇

冼镜光

机械工业出版社

44

本书作者是密歇根技术大学的教授,选材较精,而且代码质量也比较高。

 

参考

C语言核心技术

Peter Prinz;Tony Crawford

O'Reilly Taiwan公司

机械工业出版社

 

C语言参考手册(英文影印版)(5)

Samuel P. Harbison, Guy L. Steele

人民邮电出版社

55元

两本书都是优秀的查询手册,而且都涵盖了C99。可惜的是,前者中文版没有索引,废去一半武功;后者中文版翻译较差,只能推荐影印了。

 

C语言目前应用仍然非常广泛,按道理还应该包括嵌入式系统编程和单片机编程方面的图书,但是一时竟找不到合适推荐的,只能空缺。读者如果有所发现,请告我为盼。

发表于 @ 2008年06月30日 01:24:12|评论(loading...)|收藏

新一篇: 后盖茨的IT世界 | 旧一篇: 哪个JavaScript/Ajax框架最受著名网站青睐?

用户操作
[即时聊天] [发私信] [加为好友]
图灵刘江
订阅我的博客
XML聚合  FeedSky
订阅到鲜果
订阅到Google
订阅到抓虾
图灵刘江的公告
欢迎到Twitter跟踪最新信息。

欢迎转载,请注明出处“图灵评论”和原文链接。

欢迎投稿:计算机&电子领域。让我们共同为出好书而努力。联系邮件:contact ##turingbook dot com

    到Twitter上找我!

    Locations of visitors to this page
    文章分类
    收藏
      读过
      aimingoo
      cber(好像不更新久矣)
      Dazern
      dlee
      g9老大
      Goncely:编译器,C++
      Henry
      HTMLOR
      InfoQ中文站泰稳
      LinuxForum
      Nuo Yan
      Terence Tao
      Web 2.0工作组
      Web Design Portal
      何毓琦
      内核之旅
      刘铁猛
      北大中文论坛
      图灵网站
      左轻侯
      月光
      李戈
      老谢的博客
      胡百敬
      菲尔兹奖得主Tim Gowers
      飞猪
      存档
      Csdn Blog version 3.1a
      Copyright © 图灵刘江