c语言书籍推荐计算机_第1页
c语言书籍推荐计算机_第2页
c语言书籍推荐计算机_第3页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、C语言没学过,不好乱说,C+的话,就是:C+ primier ,与C+标准最符合的一本。其次是Absolute C+,绝对深入浅出的一本。Thi nking in C+,编程思想层面的书。effective C+与more effective C+ ,一些很实用的很高级的技巧。Algorithms in C+ (算法l-IV(C+实现) 算法书,在掌握了基本语法后可看。我们老师说过,编程方面的书国内作者的最好不看,谭浩强与钱能的不推荐。此外这几本书以及一些其他的C+书籍我都有高质量 PDF电子版,中英都有,要的话可以联系偶,。(一) 语言入门:C+ Primer最新版本:第三版(第四版国外已上

2、架,国内一些网上书店也在预订中)适合有丰富C经验,缺乏C+经验的。不过我个人一直认为此书带着过于强烈的C语言的痕迹,对于C+的学习未必是好事。The C+ Programming Language /C+程序设计语言最新版本:第三版特别版|简称TC+PL,有其他语言的丰富经验的。(也有人简称之为 TCPL ”,但需与另一本The C ProgrammerLanguage区分开来)Essential C+Accelerated C+这两本薄一些,都是不错的选择。Accelerated C+本人没有读过,从各方面的评价来看,完全值得|推荐。以上几本书都有相应的中文版,而且翻译的质量都不错。上面的书

3、未必都需要读一遍,但无论如何,TC+PL 是应该阅读的。(二)进阶A :这个路线侧重于语言本身«Effective C+最新版本:第二版(第三版国外已上架,国内一些网上书店也在预订中)简称EC。C+程序员必读!很多时候,我们说 C+圣经不是指TC+PL,而是这一本。The Pragmatic Programmer一书中写到: 一旦你发现自己要参与 C+项目的开发,赶快跑(不要走)到书店去购买Scott Mayer 的Effective C+,可能还要More Effective C+”。C+ Coding Standards: 101 Rules, Guidelines, and B

4、est Practices /C+ 编程规范个人认为此书应为C+程序员必备的案头书。几乎Effective系列和Exceptional系列都在这里得到了总结。 最新的模版、异常的业界经验都在这里的到了体现。可能的唯一缺陷就是对一个新手而言,关于为什么这么做”的问题,解释的不够。我的看法是:如果你不理解其中的条款,记忆,并且照做;如果你理解其中的条款,我猜你一定会同意书中的观点。我认为这本书中的内容至少在2009年以前都不会过时,人们将广为传诵它制定的101条戒律。还不知道他的简称,也许101 ”会成为一个候选者?提到Effective C+,那么另外三本书浮出水面:More Effective

5、 C+Exceptional C+More Exceptional C+。新书Exceptional C+ Style也是值得一看的好书。上述几本书,一本也不应该放过。个人建议上述书籍按顺序阅读。并且,在将来反复阅读这几本书(三)进阶B :这个路线侧重于程序库The C+ Standard Library/C+标准程序库一自修教程与参考手册听说过STL吗?这本书会教你最基本的,也是最重要的 STL的使用。这本书,应该是必读的Effective STL会使用STL还不够,还必须知道什么时候选择什么STL组件,这是STL使用的必读书Generic Programming and the STL:

6、Using and Extending the C+ Standard Template Library /泛型 编程与STL。这本书理论性较强,但是真的很严谨,而且并不是非常难懂。理解其中对于Concept的解释,将是非常重要的。C+ STL这不是讲述使用程序库的,而是讲述程序库实现原理的。肠胃不好的,需要慢慢吸收。 这个路线的书,仍然是建议按顺序阅读。 进阶A、进阶B两个路线应该是可以并行的 其他进阶参考书提岀这些参考书,只是避免争议,也为开阔视野,笔者并不曾完全读过所有的Thinking in C+/C+编程思想这本书及其中文版传言好坏都有,没有认真看过,不做评价,如果确有兴趣,不妨尝试

7、一下该书以下几本书基本上涉及的都是语言本身,大体上可以按照以下的顺序阅读。C+必知必会如果早一年,这本书将是重量级的,然而它被101和Exceptional C+ Style盖过一头。C+ Gotchas: Avoiding Common Problems in Coding and Design /C+ 程序设计陷阱 这又是一本我未曾读过,而且广受好评的书。STL源码剖析这本书我刚到手,就被人"借"走,以至于到现在也没有看过。看过这本书的朋友,可以给一个合适的评价高级:The Design and Evolution of C+/C+语方的设计和演化简称D&E,内

8、容并不艰深,Bjarne的书,仅此,就值得一读。前段时间,互动网曾8块一本(人民币)贱卖此书,现在好像没了。Inside The C+ Object Model/深度探索 C+对象模型C程序员读后一定会觉得 C+原来并不神秘。C+ Template在阅读STL、Boost或者Loki的源代码之前,请仔细阅读本书,它可以减轻一些阅读的烦恼。这本书是讨 论C+模版的权威。/C+设计新思维 一一泛型Modern C+ Design Generic Programming and Design Patterns Applied编程与设计模式之应用简称MCD。在阅读MCD之前,建议先阅读一下C+ Tem

9、plate。对象揭秘:Java、Eiffel和C+你对C+不满吗?这本书可以部分地帮你完成抱怨的目标。也许它还可以让你不迷信C+最后,一份C+标准文档也是应该加以咀嚼的。还有一些 书籍,并不能简单的归于 C+,也难以在纯粹的书本学习中加以掌握。Design Patterns/设计模式一书就归于此类。书籍,要么谈论C+语言本身,要么谈论STL的,要么兼而有之(当然严格讲STL也是C+C+是他们很重要。阅读这些书,未必需要化费太多的精力,有时候是会困难,但也有时候会很快速。最后,编程语言并非计算机科学技术的全部,尤其对于在校的学生来说,打好基础、开阔视野都是非常重 要的至少我是这么认为的。国内引进

10、第一批C+经典书籍的时候我是亲历的。感觉真是忽如一夜春风来,千树万树梨花开”别误会,我说的这个第一批并非 C+ Programming LanguageC+ Primer这种经典中的经典。而是说诸如 Exceptional C+More Exceptional C+ Effective&More Effective C+C+ GotchasGeneric Programming and the STLTheC+ Standard LibraryC+ TemplatesMorden C+ Design等。其中Modern C+ Design 是最为激动人心的著作。学泛型而不读该著作就好像

11、学算法不读D.E的The Art of ComputeProgramming,无法达到更高的境界。我只记得当时拿到这本书从早晨9点一直看到晚上22点,两顿饭都没有吃,如痴如醉。正因为这本书太经典,也太前卫了,所以我看完心里 就暗暗的下了个结论“C+图书界将很久不会出现这样激动人心的著作了”。果然,后来出的一些如Accelerate C+Applied C+C+ Network Programming ,虽然也堪入经典之 列,但是毕竟没有令人十分振奋的内容了。然而,C+泛型技术的发展却一刻也没有停止过,boost库的不断更新将 C+泛型技术逐渐推动到了一个新的高峰,原先在Modern C+ De

12、sign中的有些前卫有些学院派的技术到了 boost库中终于和实践紧密结合到了一起,泛型的抽象本质发挥了其惊人的力量,于是 boost库里出现了一个又一个具有高度可复用性和定制性的泛型构件。泛型通过boost库终于渐渐贴近了程序员的生活。如果说C+泛型是那只压在五行山下的孙猴子,那么 Modern C+ Design就揭开了山上 的封印,释放了这猴头惊人的力量,而boost库则是孙悟空头上的那道金箍,约束并引导着它向正确的方向走,做正确的事。虽然有这道金箍,但它的力量却一点也没有削弱,甚至更强,只不过在被磨掉棱角的同时日趋成熟了而已。然而,遗憾的是,虽然 boost 库中随处可见精致的泛型应用

13、,可以说是一本源码教科书,正 如 Linux 源代码之与程序员,但是 “没有三两三,别想过梁山 ”,并非每个人都能够读懂其 源代码,甚至一个对泛型颇为了解的程序员也会在其中迷途难返。这是因为 boost 库为了在 大部分主流编译器上都能通过编译, 做了很多的 workaround ,并且, 为了节省代码量, boost 库中随处可见大片大片的宏, 这些宏就像迷宫, 源代码的迷宫。 这两个原因都使得 boost 的 源代码可读性较差。因此, boost 库虽然贴近了程序员, boost 库的源代码却愈发远离了程序员。但是,在C+泛型领域已经登堂入室,欲更进一步,一窥堂奥者却非得阅读像boost这

14、样经典的源代码不可。 “熟读唐诗三百首,不会吟诗也会吟 ”。虽然 boost 库的源代码的可读性较差,但也并非极差,如果有人事先为你透彻讲解boost 库中的泛型运用和设计理念,相信你一定会在阅读时游刃有余。这就是了 一一一本即将出版的经典之作,由boost的发起者之一,C+标准委员会的成员David Abraham 以及另一位 boost 成员 Aleksey Gurtovoy 合著的 C+ Template Metaprogramming:Concepts,Tools,and Techniques from Boost and Beyond 。对于这么一本势必成为经典的书,我实在惶于评价,

15、还是引用其主页上面的一段话吧:这本讲述C+模板元编程的书将赋予C+用户空前的强大能力,并使这门技术成为程序员手中真正实用的一门技术。This book covers C+ Template Metaprogramming in a way that provides unprecedented capability to the C+ power-user, and delivers practical metaprogramming into the hands of the everyday programmer.一直以来, C+ +泛型似乎总处于一种奇怪的位置,有人说它太学院派,有人认为

16、那太遥远, 现在还用不到它,有人认为那是库的设计者的事情,与程序员关系不大。更有人持“不敢高攀”的态度。其实这些都是错误的态度,泛型是一门由来已久的思想,其核心理念是抽象, 并没有什么神秘之处。 与面向对象提供的二进制复用相比, 泛型的代码提供了源码级的复用, 一个具有更强的动态特性, 一个具有更强的类型安全性和效率, 两者互补才能发挥最大的力 量。已经出版的很多关于C+泛型的经典书籍其实已经很好的介绍了这一点。只不过,关于C+泛型,还有一门可以独立出来的技术一一模板元编程。而这恰恰是令泛型构件更具表达力和自由度的技术。甚至也可以说是boost库的基石之一(除了部分对泛型依赖不强的组件如 Re

17、gex 等例外)。所以,显而易见这是一门非常重要的技术,这一点从GenerativeProgramming一书中也可看出。然而,对于这门可以独立出来的技术,目前我们所看到的只是一些零星的描述,C+Templates里面虽有一整章描述 metaprogram,但对于渴求知识者仍如隔靴搔痒, 不能尽兴。 不过,这种情况就快过去了,C+ Template Metaprogramming将会系统的讲述 C+模板元 编程技术,将这门原先只是大师们手中的利器的神秘技术带到普通程序员的手中,赋予普通程序员惊人的力量。如果说Modern C+ Design是C+泛型书籍上的经典之作(它的确是),那么这本即将道

18、来的C+ Template Metaprogramming将是经典之后的又一次经典!分享C+的学习方法及书籍推荐来源:张红的日志工作半年了,一直觉得自己C+基础太差了,直到现在这种感觉强烈到让我在网上搜能提升 的宝典,从现在起,要有计划的提升编程能力了。贴一篇说的不错的文章。 从C+ Primer,C+标准程序库开始打基础了。 zha ngh 2011-01-19(一)我现在理解的C+C+的系列ID发种种原因,很多精力要投入到 java的学习和使用中去了,想形成一个学习 文章,没有什么风格,也没有什么时间表,想到哪就去写。这里把以前自己另外一个 表的一篇文章的一部分作为这个系列的第一篇,算是开

19、头吧。学习C+重在理解其各种语言设施所代表的语义,以及C+所能表示的语义所代表的设计思想。首先从宏观上入手,你需要明白的是C+是程序设计语言的本质。在此我把C+ 最重要的性质写下来:C+是一门静态类型检查,基于C内存模式,支持四种基本程序设计范型的语言。注意,这里说明了三个本质特性,静态说明了语言的类型检查性质,基于C内存模式告诉我们在 C+中所有与内存有关的操作都需要程序员自己来负责,这样就带来了很多设计程序时的需要注意的地方,而理解支持的四种基本范型却是理解各种语言设施的基础。然后记住C+的最大的一点设计哲学,也是其贯穿应用C+的一条本质,我引用C+PRIMER中文版前言内的一句话表示 -

20、“C+的基础是各种设施,它们让用户能够通过定义 新的数据类型来扩展语言本身,这些新类型可以与内置类型一样的使用方式(如何理解这句话是关键,我的理解是:用户定义类型可以在任何使用内置类型的时候做为其替代,再具体 点说就是用户定义类型可以象内置类型那样可以被声明,其对象可以被初始化,可以相互复制,可以象内置类型对象那样和很多操作符一起使用,可以被作为参数传递给函数,可以作为函数的返回值,可以作为容器的操作对象,用户定义类型可以和内置类型一样作为模板的参数),掌握这些设施(哪些设施?就是让用户定义类型可以和内置类型一样方便使用的设施, 包括什么?构造,拷贝,解构函数,操作副重载.)的第一步就是理解基

21、本语言 (什么是基本语言?就是C+中better c部分)。在此,我还想提出一点十分重要的概念:一门语言的最本质的东西就是其类型系统,任何语言都有自己的独特的类型系统,学习C+就是学习他的类型系统。 所以首先需要彻底明白什么是数据类型这个概念。这样你的思路就清楚了,你有选择,从每一种C+支持的设计范型入手学习。结构化设计也就是C+中的better c部分,你需要在 C的基础上学会函数重载和引 用这两个最重要的语言新特心性。基于对象-你需要建立C+最强大的概念-类,也就是用户定义类型, 这其实就是数据 结构里面接触的抽象数据类型的概念, 以及合理构造使用类的一系列语言措施。 并始终记住, 在C+

22、进行设计时用类来表示我们需要表示的概念。类也是C+抽象机制里面最核心的概念。(二)书的诱惑C+程序设计语言:如果你只买一本 C+书,这本就是你的选择,作者Bjarne就是让你做出这样选择的全部理由,没有人能比他更了解什么样才是真正的使用C+编程了,有人说到这本书语言晦涩, 或者对与初学者此书不适合, 对此评论我颇不以为然, 我看的是中 文版, 起码在我看来语言描叙非常到位, 我喜欢这样的技术描叙风格。 全书的核心就是告诉 你如何去用正确的观念编写正确的C+的代码。强烈推荐。C+语言设计与演化:这本书也是我同时拥有中英两版的两本书之一(另外一本是设计模式 )。如果在得到上面的那本书之后你需要第二

23、本,那么在我看来这就是你的选择, 作者同样是Bjarne,他将在这本书中告诉你 C+的起源与发展,语言原则与本质,各种特性 加入的理由和考量,以及几乎一切关于 C+有趣的故事。我阅读过中英两版,都是强烈推荐。C+标准程序库:在AMAZON上面关于C+书籍评论最为火暴的一本。全书对于标准程序库的介绍可谓深入浅出, 而且全书都是从实际运用出发, 书中例子简单却非常说明问 题,加上一些图表的陈列, 使其概念十分清晰, 而且从手册和学习两方面看都有其存在价值。 强烈推荐。EFFECTIVE C+中文版:无须多说,在任何 C+书籍推荐目录中都可以找到这本 书的身影,盛名之下必无虚士。主要强调的是运用 C

24、+的各种特性的时候所必须注意的地方, 以及一些比较通用的设计手段。 其短小精悍的语言自然非常适合快节奏的现代风格, 个人就 十分喜欢 Meyer 的写作方式。强烈推荐。MORE EFFECTIVE C+ 中文版 :做为上本书的姐妹篇,一样的写作风格,一样的 写作目的。 只是个人认为和其姐姐相比, 存在差距, 主要是信息量没有 EFFECTIVE C+ 中 文版那么大,主要说到了一些C+的设计惯用手法。推荐。C+ PRIMER中文版:同样是出自大师之手,作者LIPPMAN,作为早期 C+编译器的实现者之一,对与 C+的了解以及该如何论序都有自己的独到见解。做为C+的百科全书和C+程序设计语言有着

25、一样的地位。但是前者更强调的是C+的语法和其语义,而后者则是以如何用 C+进行合理设计做为描叙的中心。全书构思十分巧妙,书的一开始就直接进入C+的主题,前面五章都用类设计一个数据结构,让读者完全明白了各种用户定义类型所代表的抽象能力, 然后直接进入第六章标准库中的容器类, 这样的设计让读者十分清 楚的建立容器和类这两个 C+中十分重要的概念。这样的设计针对有一定基础的C+读者来说可以说是非常有效果的。 但是对于初学者来说, 这确实不是一本合适的书籍, 因为一上 来太多的名词会把刚刚接触 C+的人吓着的。推荐。C+沉思录:非常有特点的一本书,全书假设读者已经通晓C+语言,重点告诉读者C+的概念以

26、及一些 C+的设计手段,比如用 C+到底为什么会比 C或者其他过程语言更好 ?(书中给出的答案是,因为只有对象才有能力保持一定的状态,而算法没有这样的能 力),如何进行抽象数据类型的程序设计,如何理解多态,如何通过代理隐藏继承,如何进 行引用技数,为了效率如何进行缓时拷贝,以及模板技术是如何发展演进最后构成成 STL 库的。阅读感觉和 C+ 程序设计语言一样,思想性非常强,读这样的书很累,脑子必须 一直思考问题, 思考作者里面提出的问题和他提出的解决方式。 这本书最大的特点是非常直 接的把C+语言的核心暴露出来-三种抽象模型和极其语言设施本身对这三种抽象模型 的支持。而C+沉思录给我的更深层思

27、考是什么才是运用C+最合理的方式。推荐。 C+ STL 中文版 : 很朴实,不花俏,但是价值很高。 个人认为其主要价值体现在以 下几个方面 :1,对于 STL 的实现关键 iterator 一般都使用了两种方式描叙,一种比较老式的 函数方法,一种是新的 ?traits 技巧,这样读者可以非常清楚的知道技术的演进。2,提供了一个 STL LITE 版本,阅读这样的代码对自己的提高非常大。3,书中提供的测试模块对于读者来说也是非常有的一章, 对于想扩展 STL 的,可以按照上面提供的方法测试自己的 STL 组件。缺点 :装订比较粗糙,与大师之作的地位不相称。推荐C+ PRIMER PLUS 中文版

28、 :一本思想性不是很强,技巧性不是很强的书,但是对 于初学者来说非常合适的书。 其中许多论序方式都和具体化, 总体来说, 这本书是我看过的 C+书籍里面最合适初学者的。推荐。深度探索 C+对象模型:这也是一本比较特别的书,告诉你编译器是如何安排处理 对象的内存空间的, 以及一些 OO 特性是如何实现的。 不认为这是一本 C+ +必须读物, 算是 课后读物应该比较合适吧,因为有时间了解 C+的00实现还不如花点时间搞清楚00理论的本质概念 :type theory 。推荐。C+设计新思维一一泛型编程与设计模式之应用:可谓C+中的奇书。这样的一本书,很难让人做出正确的评价与推荐指数(尤其是以我这个

29、实用和人生本就应该享乐为人生观的人来说 :),因为全书所代表的思想前卫到了有点不切实际的地步,模式+泛型多么高雅的组合。我个人的观点是,只有一部分人需要阅读此书,他们就是所谓的real c+ fans,暂且不提C+本身是否遇到了困难,就其书中所代表的设计思想,对于C+没有一点感情的程序员 (感情就是以爱好为基础,而不是以攒钱为前提),我想对于这样的设计技术总会有晕的感觉,而一般程序员多半都不会喜欢这样的感觉 :)。推荐。对象揭秘:Java、Eiffel和C+:从书名就可以看出这本书不仅仅和C+有关系。可以说全书就是对C+的一次批判吧(书也起源与作者的一篇批判C+的文章)。有时候听听另外一种声音

30、对自己保持清醒的头脑是非常有帮助的, 对待一个人, 对待一本书以及对待一门程 序设计语言都是如此。 这本书好象不是很火, 大概跟其宣传不是很到位, 或者同能同时了解 这三门语言并比较关心这些语言深层次的优略的读者比较少有关系吧,在我看来这本书包含了许多对象与类型方面的理论,最为出彩的就是作者抓住 Bjarne的在C+中一个类就是一 个类型 ”这样的 “错误 ”言论狠批的论证过程。看这本书另外一个好处是能教会大家该如何去 合理的辩驳自己的对手 :)。推荐。大规模 C+程序设计:书在手上很久了,可一直没有仔细看,这也是评论之前必须 说明的。 总体看来书中涉及的很多东西都鲜见于其他读本。 不管 AM

31、AZ0N 上的评论是否是 这本书比较过时, 起码它介绍的许多对与我来说都是我所不知道不了解的,别人说过时是他的事情。而我,还是推荐。STL 和泛型编程 :难得的一本关于泛型编程的理念书籍,同样也是作为手册和学习 两用,但是其手册不是使用手册,而是概念手册,对于设计自己的STL 组件,这本书有非 常好的帮助,虽然网上有篇 STL 的文档,其中的 70%内容和这本书雷同,但此书仍不失可 读性。推荐。C+编程思想第二版:非常一般的书,是的这就是我对这本很多人奉为名著的评论, 至于为什么是这样的评论, 或者你不相信我说的是客观话, 在你买了之后看完就知道了。 一 般。Essential C+中文版:总

32、感觉这本书定位不是很清楚,因为对于初学者来说其开始就涉及了太多的名词,初学者看这本书,几乎就不要指望能很好的入门。而对于进阶者来说, 其内容并无新意,对于C+高手来说,这样的小读本,根本就没有阅读的必要,也许是LIPPMAN+JJHOU 的盛名吧,但我觉得这次算是有虚士了:)。一般。STL 源码剖析 :侯 SIR 的大陆两本著作之一,但在我心中其质量好象并不如很多人 说的那样好,就同类作品 C+ STL 中文版相比较内容略现单薄,并且三章之后很多东 西都给人以堆砌的感觉, 而且大部分精彩的材料都出自STL 和泛型编程 一书,给人感觉书中侯 SIR 自己的东西并不多,但第二章对于内存管理有很好的

33、论叙表现,并且装订精良, 尤其是那些图更是侯 SIR 的拿手好戏,但总体感觉有点华而不实。一般。后面列出两本不推荐的,具体原因也就不再分析。高质量程序设计指南-C+/C语言,C+编码规范另外两本常见的 C+ 书籍 :Exceptional C+中文版,More Exceptional C+中文版我本人并没有阅读过,但 其名声不小,而且加之曾经给此书作者 Herb Sutter 通邮件的经历,那种考虑到时差都不到 24个小时的回信率以及在信中耐心的对技术讲解的态度,同样向大家推荐这两本书, 因为在我看来 Herb Sutter 能力无须考虑加上这样待人的态度,其作品理所值得大家阅读。如果要继续,

34、选择 Window 平台的话,就学 Windows 程序设计 , 介绍 API 的书,所谓 API 即 系统提供的 函数。如果还要更高,请选择, 侯捷 写的 MFC 深入浅出 第三版,这个书剖析 MFC 结构,但不 做用法讲解,要想摆脱 微软 的阴影, 就得了解这个易用的框架怎么实现的。 另外, 看一些其 他 MFC 编程的 书吧 。如果还要提高的话,恭喜你,一旦成功,新牛人就诞生了。 普通 C&C+ 程序员 一般不接触 ActiveX 、ATL 、COM 等高深技术。你要研究的话,推荐从 COM编程COM本质论COM+开始吧。走 Linux 平台的话,我想 ARM 嵌入式编程 最有前

35、途。不过我在这方面,没得深入,故不多 说。Linux程序设计 第3版Linux内核原理ARM开发推荐的阅读顺序:level 1从<<essential c+>>(可不看)开始,短小精悍,可以对C+能进一步了解其特性以<<c+ primer>>作字典和课外读物,因为太厚不可能一口气看完level 2然后从<<efective c+>>开始转职,这是圣经,请遵守 10诫,要经常看,没事就拿来 翻翻接着是<<exceptional c+>>,个人认为 Herb Sutter主席大人的语言表达能力不及Sco

36、ttMeyers总是在教育第一线的好顺下来就是 <<more effective c+>>禾口 <<more exceptional c+>>,请熟读并牢记各条款 当你读到这里,应该会有一股升级的冲动了level 3<<insied the c+ object model>>看过后如一缕清风扫去一直以来你对语言的疑惑,你终 于能明白compiler至U底都背着你做了些什么了,这本书要细细回味,比较难啃,最好反复 看几遍,加深印象看完上一本之后,这本 <<The design and evolution of c

37、+>> 会重演一次当年 C+他爹在设计整个语言过程中的历程level 4<<the c+ standard lipary>>是stl的字典,要什么都可以查得到学c+不能不学stl,那么首先是<<efective stl>>,它和圣经一样是你日常行为的规范<<generic programming and the stl>> 让你从 oo 向 gp 转变光用不行,我们还有必要了解 stl的工作原理,那么<<stl源码剖析 >>会解决你所有的困 惑level 5对于c+无非是oo和gp,想进

38、一步提升 oo, <<exeptional c+ style>>是一本主席这么多年的经验之谈,是很长esp的一位stl高手是不能不去了解 template的,<<c+ template>>是一本百科全书,足够你看完后对于gp游刃有余<<modern c+ design>>是太过聪明的人写给明眼人看的好书有很多,不能一一列举以上我的读书经历,供各位参考。接下来的无非就是打怪练级,多听多写多看;boost、stl、loki这些都是利器,斩妖除魔,奉劝各位别再土法练钢了。希望对大家有帮助。先从个人经验和对本人所影响的书籍谈起。1

39、. effective C+ (繁体版)2. more effective C+(繁体版)这年本书乃是改善设计思维和设计思想的必读书籍,书中每个item莫不是经过千锤百炼之后得出。其中,effective比较浅显易懂,每个item都比较短,而 more设计思想更进一层, 有些item已经多多少少有设计模式的味道。我看过的是繁体版,这两本书候老师翻译得不错(我觉得是候老师翻译得最好的两本书,比较认真) ,读起来比较有味道。建议初学者在看完一本C+比较完整的书后直接拜读此2书。3. effective STL , 和上面两本都是 meyer 的大作,但比起上面两本, 这本的含金量稍微不足,该书沿袭

40、前面两本书的写作风格,重点论述 STL 的高效应用和注意事项,我都觉得 more exception C+等有些思想都和此书非常类似。潘老师早就把此书翻译完了,不知道他们清华出版社为何到现在还不出来,难道要等到 2003 C+ 新的标准出来后作为昨日黄花卖。4. C+ Primer, lippman的地位自然不用猜疑,此书也被评为C+的最佳入门书籍,也是Lipman写得最认真的一本书,第3版在国内98年就有了。全书可谓是C+大全,深度适当,比较适合初学者,或者想对C+和程序设计有大概了解的读者,但就是比较厚,这也只能怪 C+ 的源远流长, 总是在打园场, 不断增加新特性, 让我们这群读者都不得

41、不捧着这本大 书品读。中文版是潘老师翻译的,文字通顺,但缺乏味道,看着一本千来页的书,而且前面 一部分讲的都是程序设计思想,容易令人产生困倦,也难怪很多人半道出家学java。5. The C+ Programming language 这是一本每个人都应该买但不一定要看的书,强烈建议初学者不要看这本书,否则可能会一头雾水,失去信心 , BS 写书本来就不怎么样,他自己都 说他的书有些晦涩难懂, 但是买一本放在书柜里, 有什么不清楚的地方查查高人如何解析还 是有必要的。中文版是裘老师翻译的,以裘老师的深厚功力,技术上大家大可放心,但语言流畅上我就不敢认同了,况且这还是一本大书,如果要追求语言流畅

42、的话,可能没有两3年是出不来的,而且国内的出版社又那么急功近利,稿酬不高,做得那么好有必要吗?6 The C+ standard library ,就是现在卖得比较热的书,梦魇和候节翻译的,翻译得很好,语 言很通顺,技术上也很好,只是书中有些代码我是调试不过,或许只能怪STL 里面有几个经典错误,不知看这本书的读者发现了没有?我严重建议C+的初学者看这本书,先知道应该怎么来用 C+,怎么来充分利用标准库,而不是一头钻入C+的庞大晦涩语法里面,先用标准库才能养成良好的代码编写风格, 更可以提高自己的实作能力, 否则你如果花上一年 半载在C+的语言细节上,可能自己都生气为什么还是写不出好的程序出来

43、,公欲善其事, 必先利其器就是这个道理。7. design pattern explained ,看了上面这些书之后,没有必要再只是关心C+ 了,即使你花上更多的时间在C + +上面,也很难有大的进步,现在正是开始分析 00D的时候,design pattern 就可以帮你深入了解设计的奥妙, 更上一层楼, design pattern explained 这本书浅显易懂, 对 于 pattern 这个深奥的东西, 能写出这么好看的书, 确实难得, 让人不得不佩服两位作者 alan 和james的过人之处,全书通过两个具体实例(autocad和etail)分析了 Gamma95里面的一些模式,

44、 对我而言, 是看到这儿才真正明白 Gamma 95 里面的一些模式的。 中文版最近就要 出版了,由透明翻译,质量应该还可以。8. design pattern 。 这是一本严肃的书,这是一本重量级的书,这是一本难懂的书,如果你真正把这本书弄得清清楚楚了,我愿意俯首向你请教。23个模式乃是以前OOD的一部分精华,4人帮(指作者)都是天才,此书是 95 年写的,但它的影响至少有 10 年。对于初学者,除 非那种数学底子很好, 思维能力很强的读者, 最好别看该书, 而是先看上面的那本 DPE。 中 文版的翻译只能说是差强人意, 有一些错误, 语句不通顺, 是由南京大学的 4位博士翻译的, 但在当时

45、敢于翻译此书,也令人佩服。9. modern C+ design 这是天才 Andrei Alexandrescu 的作品,很好的一本高阶书,此书我只是浏览一下大概,没有仔细看,有些地方看不懂,全书把C+和设计模式融为一体,向人展示了许多不平常的设计技巧与设计规范, 令人折服。但有些难度, 还望各位慎重。 至于里面 的技术实不实用,就要因人而异了。10. C+ Template 我没看过这本书,但听过这本书,据说书中展示了模板的精华之处。11. exceptional C+ 和 more exceptional C+. Herb Sutter 的书读起来比较轻松,此作为effective与mo

46、re effective的姐妹篇,写作风格有些如苏格拉底的提问式教学,但应用 得还不够火候。书的内容确实不错,定位和effective差不多,但我个人而言还是更喜欢Meyer的书。More有中文版,有Lostmouse翻译,质量一般,翻译给人的感觉比较仓促,很多地 方都过于直译,味道怪怪的。12。essential C+很简单的一本书,初学者如果觉得自己确实很菜可以先看这本书,你肯定 能看懂,也是lippman的书,但英文版有些地方值得商榷,还是看候节的中文版吧,翻译得 还可以,就是台湾味道太浓了些,有点喧宾夺主之嫌。如了门的读者就没必要看这本书了, 看它还不如看 lippma n 的 in

47、side the C+ object model 呢。13 designing and coding reusable C+,关于重用和程序库设计的一本书,是由AT&T的Ellis夫妇写的,书写得很好,充分考虑了设计可重用程序库的方方面面,对于每个想设计程序库和的读者都应该看这本书,中文版名是设计和重用C+程序库,即将出版。14。thinking in C+,我是觉得此书一般,并没有外面吹的那么好,可以说是中等偏上吧, 要看就要看英文版的,中文版的千万别看,那个译者太不负责了。15 Runmination on C+,据说人邮既要出版了,是由 konnig夫妇写的,如果你想知道cfro

48、nt的历史,还想清楚 cfront的领导者,就找他们夫妇吧,那时, konig和BS是独立的,而其 它的人都是由konig夫人Barbara领导的,konig在C+中可算是number 2,属于学术派的 那种,实际上C+也是分派别的。英文版的质量肯定很好,有很多新的设计观念,中文版还要期待,看看结果如何。16Accelerated C+也是koenig和Barbara夫妇写的,据说很好,但我没机会看,实在不敢评价1. <<The C+ Programmi ng Lan guage>> , Bjarne Stroustrup这是一本每个人都应该买但不一定要看的书,强烈建议

49、初学者不要看这本书,否则可能会一头雾水,失去信心,BS写书本来就不怎么样,他自己都说他的书有些晦涩难懂,但是买一 本放在书柜里,有什么不清楚的地方查查高人如何解析还是有必要的。中文版是裘老师翻译的,以裘老师的深厚功力,技术上大家大可放心,但语言流畅上我就不敢认同了,况且这还是一本大书,如果要追求语言流畅的话,可能没有两3年是出不来的,而且国内的出版社又那么急功近利,稿酬不高,做得那么好有必要吗?2. <<C+ Primer>> , lippma n?lippman的地位自然不用猜疑,此书也被评为C+的最佳入门书籍,也是 Lipman写得最认真的一本书,第3版在国内98年

50、就有了。全书可谓是C+大全,深度适当,比较适合初学者, 或者想对C+和程序设计有大概了解的读者,但就是比较厚,这也只能怪C+的源远流长,总是在打园场,不断增加新特性,让我们这群读者都不得不捧着这本大书品读。中文版是潘老师翻译的,文字通顺,但缺乏味道,看着一本千来页的书,而且前面一部分讲的都是程序设计思想,容易令人产生困倦,也难怪很多人半道出家学java。3. effective C+ >> Scott meyer同下4. <<more effective C+>> , meyer这年本书乃是改善设计思维和设计思想的必读书籍,书中每个item莫不是经过千锤百炼

51、之后得出。其中,effective比较浅显易懂,每个item都比较短,而 more设计思想更进一层, 有些item已经多多少少有设计模式的味道。我看过的是繁体版,这两本书候老师翻译得不 错(我觉得是候老师翻译得最好的两本书,比较认真),读起来比较有味道。建议初学者在看完一本C+比较完整的书后直接拜读此2书。5. <<The C+ sta ndard library就是现在卖得比较热的书,梦魇和候节翻译的,翻译得很好,语言很通顺,技术上也很好,只是书中有些代码我是调试不过,或许只能怪STL里面有几个经典错误,不知看这本书的读者发现了没有?我严重建议C+的初学者看这本书,先知道应该怎么

52、来用C+,怎么来充分利用标准库,而不是一头钻入C+的庞大晦涩语法里面,先用标准库才能养成良好的代码编写风格,更可以提高自己的实作能力,否则你如果花上一年半载在C+的语言细节上,可能自己都生气为什么还是写不出好的程序出来,公欲善其事,必先利其器就是这个道理。6. <<moder n C+ desig n >> An drei Alexa ndrescu这是天才Andrei Alexandrescu的作品,很好的一本高阶书,此书我只是浏览一下大概,没有仔细看,有些地方看不懂,全书把C+和设计模式融为一体,向人展示了许多不平常的设计技巧与设计规范,令人折服。但有些难度,还望各

53、位慎重。至于里面的技术实不实用, 就要因人而异了。7. <<C+ Template>>据说书中展示了模板的精华之处8. <<exceptional C+禾口 more exceptional C+>>Herb Sutter的书读起来比较轻松,此2书可以作为 effective与more effective 的姐妹篇,写作风格有些如苏格拉底的提问式教学,但应用得还不够火候。书的内容确实不错,定位和effective差不多,但我个人而言还是更喜欢Meyer的书。More有中文版,有 Lostmouse翻译,质量一般,翻译给人的感觉比较仓促,很多地方都

54、过于直译,味道怪怪的。9. <<esse ntial C+>> lippman(笔者注:其实这本书没必要看,作者的这本书是定位于没有接触c + +的其他的程序员速成 C+ +的,初学者也不是很适合,而对于比较熟悉C + + 语法就没必要看了,因为比较简单。)很简单的一本书,初学者如果觉得自己确实很菜可以先看这本书,你肯定能看懂,也是lippman的书,但英文版有些地方值得商榷,还是看候节的中文版吧,翻译得还可以,就是台湾味道太浓了些,有点喧宾夺主之嫌。如了门的读者就没必要看这本书了,看它还不如看lippman的in side the C+ object model 呢。

55、10 . <<desig ning and codi ng reusable C+>>关于重用和程序库设计的一本书,是由AT&T的Ellis夫妇写的,书写得很好,充分考虑了设计可重用程序库的方方面面,对于每个想设 计程序库和的读者都应该看这本书,中文版名是设计和重用C+程序库,即将出版。11. <<thi nking in C+>>我是觉得此书一般,并没有外面吹的那么好,可以说是中等偏上吧,要看就要看英文版的,中文版的千万别看,那个译者太不负责了?12. <<Runmination on C+>>据说人邮既要出版了

56、,是由 konnig夫妇写的,如果你想知道cfront的历史,还想清楚 cfront的领导者,就找他们夫妇吧,那时, konig和BS是独立 的,而其它的人都是由 konig夫人Barbara领导的,konig在C+中可算是number 2,属 于学术派的那种,实际上 C+也是分派别的。 英文版的质量肯定很好,有很多新的设计观念,中文版还要期待,看看结果如何。?(笔者注:这本书好像早就出版了,中文名C+沉思录,不过在第二书店和 china pub没没有了,好像说是绝版了,需要的话网上下电 子版自己打印一下)13. <<Accelerated C+>> 也是koenig和Barbara夫妇写的,据说很好,但我没机会看,实在不敢评价。(笔者注:据说这本书是很经典的C+入门的书籍)14 <<C语言接口与实现:创建可重用软件的技术>>下面是另外一个推荐的,有些书已经有中文版了,大家可以去china pub看看谁翻译的,翻译得怎么样,然后根据自己的英语水平选择看中文还是英文。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论