为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > c 语言书籍推荐 计算机

c 语言书籍推荐 计算机

2017-10-06 28页 doc 60KB 11阅读

用户头像

is_447713

暂无简介

举报
c 语言书籍推荐 计算机c 语言书籍推荐 计算机 C语言没学过,不好乱说,C++的话,就是: C++primier,与C++标准最符合的一本。其次是AbsoluteC++,绝对深入浅出的一本。ThinkinginC++,编程思想层面的书。 effectiveC++与moreeffectiveC++,一些很实用的很高级的技巧。AlgorithmsinC++(算法I-IV(C++实现))算法书,在掌握了基本语法后可看。我们老师说过,编程方面的书国内作者的最好不看,谭浩强与钱能的不推荐。 此外这几本书以及一些其他的C++书籍我都有高质量PDF电子版...
c 语言书籍推荐  计算机
c 语言书籍推荐 计算机 C语言没学过,不好乱说,C++的话,就是: C++primier,与C++标准最符合的一本。其次是AbsoluteC++,绝对深入浅出的一本。ThinkinginC++,编程思想层面的书。 effectiveC++与moreeffectiveC++,一些很实用的很高级的技巧。AlgorithmsinC++(算法I-IV(C++实现))算法书,在掌握了基本语法后可看。我们老师说过,编程方面的书国内作者的最好不看,谭浩强与钱能的不推荐。 此外这几本书以及一些其他的C++书籍我都有高质量PDF电子版,中英都有,要的话可以联系偶,发信itkid.baidu@gmail.com。 (一)语言入门: 《C++Primer》 最新版本:第三版(第四版国外已上架,国内一些网上书店也在预订中) 适合有丰富C经验,缺乏C++经验的。不过我个人一直认为此书带着过于强烈的C语言的痕迹,对于C++的学习未必是好事。 《TheC++ProgrammingLanguage》/《C++程序设计语言》 最新版本:第三版特别版 简称TC++PL,有其他语言的丰富经验的。(也有人简称之为“TCPL”,但需与另一本《TheCProgrammerLanguage》区分开来) 《EssentialC++》 ——————————————————————————————————————————————— 《AcceleratedC++》 这两本薄一些,都是不错的选择。《AcceleratedC++》本人没有读过,从各方面的评价来看,完全值得推荐。 以上几本书都有相应的中文版,而且翻译的质量都不错。上面的书未必都需要读一遍,但无论如何,TC++PL是应该阅读的。 (二)进阶A: 这个路线侧重于语言本身 《EffectiveC++》 最新版本:第二版(第三版国外已上架,国内一些网上书店也在预订中) 简称EC。C++程序员必读~很多时候,我们说C++圣经不是指TC++PL,而是这一本。《ThePragmatic “一旦你发现自己要参与C++项目的开发,Programmer》一书中写到:赶快跑(不要走)到书店去购买Scott Mayer的《EffectiveC++》,可能还要《MoreEffectiveC++》”。《C++CodingStandards:101Rules,Guidelines,andBestPractices》/《C++编程》个人认为此书应为C++程序员必备的案头书。几乎Effective系列和Exceptional系列都在这里得到了总结。最新的模版、异常的业界经验都在这里的到了体现。可能的唯一缺陷就是对一个新手而言,关于“为什么这么做”的问题,解释的不够。 我的看法是:如果你不理解其中的条款,记忆,并且照做;如果你理解其中的条款,我猜你一定会同意书中的观点。我认为这本书中——————————————————————————————————————————————— 的至少在2009年以前都不会过时,人们将广为传诵它制定的101条戒律。还不知道他的简称,也许“101”会成为一个候选者, 提到《EffectiveC++》,那么另外三本书一一浮出水面: 《MoreEffectiveC++》 《ExceptionalC++》 《MoreExceptionalC++》。 新书《ExceptionalC++Style》也是值得一看的好书。 上述几本书,一本也不应该放过。个人建议上述书籍按顺序阅读。并且,在将来反复阅读这几本书。 (三)进阶B: 这个路线侧重于程序库。 《TheC++StandardLibrary》/《C++标准程序库—自修教程与参考手册》 听说过STL吗,这本书会教你最基本的,也是最重要的STL的使用。这本书,应该是必读的。《EffectiveSTL》 会使用STL还不够,还必须知道什么时候选择什么STL组件,这是STL使用的必读书。 《GenericProgrammingandtheSTL:UsingandExtendingtheC++StandardTe mplateLibrary》/《泛型编程与STL》。 这本书理论性较强,但是真的很严谨,而且并不是非常难懂。理解其中对于Concept的解释,将是非常重要的。《C++STL》 ——————————————————————————————————————————————— 这不是讲述使用程序库的,而是讲述程序库实现原理的。肠胃不好的,需要慢慢吸收。 这个路线的书,仍然是建议按顺序阅读。 进阶A、进阶B两个路线应该是可以并行的。 其他进阶参考书 提出这些参考书,只是避免争议,也为开阔视野,笔者并不曾完全读过所有的。 《ThinkinginC++》/《C++编程思想》 这本书及其中文版传言好坏都有,没有认真看过,不做评价,如果确有兴趣,不妨尝试一下该书。以下几本书基本上涉及的都是语言本身,大体上可以按照以下的顺序阅读。《C++必知必会》 如果早一年,这本书将是重量级的,然而它被101和《ExceptionalC++Style》盖过一头。 《C++Gotchas:AvoidingCommonProblemsinCodingandDesign》/《C++程序设计陷阱》 这又是一本我未曾读过,而且广受好评的书。 《STL源码剖析》 这本书我刚到手,就被人"借"走,以至于到现在也没有看过。看过这本书的朋友,可以给一个合适的评价。高级: 《TheDesignandEvolutionofC++》/《C++语方的设计和演化》 简称D&E,内容并不艰深,Bjarne的书,仅此,就值得一读。 前段时间,互动网曾8块一本(人民币)贱卖此书,现在好像没——————————————————————————————————————————————— 了。 《InsideTheC++ObjectModel》/《深度探索C++对象模型》 C程序员读后一定会觉得C++原来并不神秘。《C++Template》 在阅读STL、Boost或者Loki的源代码之前,请仔细阅读本书,它可以减轻一些阅读的烦恼。这本书是讨论C++模版的权威。 《ModernC++DesignGenericProgrammingandDesignPatternsApplied》/《C++设计新思维——泛型编程与设计模式之应用》 简称MCD。在阅读MCD之前,建议先阅读一下《C++Template》。 《对象揭秘:Java、Eiffel和C++》你对C++不满吗,这本书可以部分地帮你完成抱怨的目标。也许它还可以让你不迷信C++。最后,一份C++标准文档也是应该加以咀嚼的。还有一些书籍,并不能简单的归于C++,也难以在纯粹的书本学习中加以掌握。《DesignPatterns》/《设计模式》一书就归于此类。所有上述的书籍,要么谈论C++语言本身,要么谈论STL的,要么兼而有之(当然严格讲STL也是C++语言非常重要的一部分)。偶尔,某些书中条目也会涉及实际。这些书并不是C++软件开发的全部,但是他们很重要。阅读这些书,未必需要化费太多的精力,有时候是会困难,但也有时候会很快速。 最后,编程语言并非计算机科学技术的全部,尤其对于在校的学生来说,打好基础、开阔视野都是非常重要的。 至少我是这么认为的。国内引进第一批C++经典书籍的时候我是亲历的。感觉真是“忽如一夜春风来,千树万树梨花开”。别误会,——————————————————————————————————————————————— 我说的这个第一批并非《C++ProgrammingLanguage》《C++Primer》这种经典中的经典。而是说诸如《ExceptionalC++》《MoreExceptionalC++》《Effective&MoreEffectiveC++》《C++Gotchas》 《GenericProgrammingandtheSTL》《TheC++StandardLibrary》《C++Templates》《MordenC++Design》等。其中《ModernC++Design》是最为激动人心的著作。学泛型而不读该著作就好像学算法不读D.E的《TheArtofComputeProgrammingvol.1.2.3》一样,无法达到更高的境界。我只记得当时拿到这本书从早晨9点一直看到晚上22点,两顿饭都没有吃,如痴如醉。正因为这本书太经典,也太前卫了,所以我看完心里就暗暗的下了个结论“C++图书界将很久不会出现这样激动人心的著作了”。果然,后来出的一些如《AccelerateC++》《AppliedC++》《C++NetworkProgrammingvol.1.2》等,虽然也堪入经典之列,但是毕竟没有令人十分振奋的内容了。 然而,C++泛型技术的发展却一刻也没有停止过,boost库的不断更新将C++泛型技术逐渐推动到了一个新的高峰,原先在《ModernC++Design》中的有些前卫有些学院派的技术到了boost库中终于和实践紧密结合到了一起,泛型的抽象本质发挥了其惊人的力量,于是boost库里出现了一个又一个具有高度可复用性和定制性的泛型构件。泛型通过boost库终于渐渐贴近了程序员的生活。 如果说C++泛型是那只压在五行山下的孙猴子,那么《ModernC++Design》就揭开了山上的封印,释放了这猴头惊人的力量,而boost库则是孙悟空头上的那道金箍,约束并引导着它向正确——————————————————————————————————————————————— 的方向走,做正确的事。虽然有这道金箍,但它的力量却一点也没有削弱,甚至更强,只不过在被磨掉棱角的同时日趋成熟了而已。 然而,遗憾的是,虽然boost库中随处可见精致的泛型应用,可以说是一本源码教科书,正如Linux源代码之与程序员,但是“没有三两三,别想过梁山”,并非每个人都能够读懂其源代码,甚至一个对泛型颇为了解的程序员也会在其中迷途难返。这是因为boost库为了在大部分主流编译器上都能通过编译,做了很多的workaround,并且,为了节省代码量,boost库中随处可见大片大片的宏,这些宏就像迷宫,源代码的迷宫。这两个原因都使得boost的源代码可读性较差。 因此,boost库虽然贴近了程序员,boost库的源代码却愈发远离了程序员。 但是,在C++泛型领域已经登堂入室,欲更进一步,一窥堂奥者却非得阅读像boost这样经典的源代码不可。“熟读唐诗三百首,不会吟诗也会吟”。 虽然boost库的源代码的可读性较差,但也并非极差,如果有人事先为你透彻讲解boost库中的泛型运用和设计理念,相信你一定会在阅读时游刃有余。 这就是了——一本即将出版的经典之作,由boost的发起者之一,C++标准委员会的成员DavidAbraham以及另一位boost成员AlekseyGurtovoy合著的—— 《C++TemplateMetaprogramming:Concepts,Tools,andTechniquesfromBo ——————————————————————————————————————————————— ostandBeyond》。 对于这么一本势必成为经典的书,我实在惶于评价,还是引用其主页上面的一段话吧:这本讲述C++模板元编程的书将赋予C++用户空前的强大能力,并使这门技术成为程序员手中真正实用的一门技术。 ThisbookcoversC++TemplateMetaprogramminginawaythatprovidesunpre cedentedcapabilitytotheC++power-user,anddeliverspracticalmetaprogra mmingintothehandsoftheeverydayprogrammer. 一直以来,C++泛型似乎总处于一种奇怪的位置,有人说它太学院派,有人认为那太遥远,现在还用不到它,有人认为那是库的设计者的事情,与程序员关系不大。更有人持“不敢高攀”的态度。其实这些都是错误的态度,泛型是一门由来已久的思想,其核心理念是抽象,并没有什么神秘之处。与面向对象提供的二进制复用相比,泛型的代码提供了源码级的复用,一个具有更强的动态特性,一个具有更强的类型安全性和效率,两者互补才能发挥最大的力量。已经出版的很多关于C++泛型的经典书籍其实已经很好的介绍了这一点。只不过,关于C++泛型,还有一门可以独立出来的技术——模板元编程。而这恰恰是令泛型构件更具表达力和自由度的技术。甚至也可以说是boost库的基石之一(除了部分对泛型依赖不强的组件如Regex等例外)。所以,显而易见这是一门非常重要的技术,这一点从《GenerativeProgramming》一书中也可看出。 然而,对于这门可以独立出来的技术,目前我们所看到的只是一——————————————————————————————————————————————— 些零星的描述,《C++Templates》里面虽有一整章描述metaprogram,但对于渴求知识者仍如隔靴搔痒,不能尽兴。不过,这种情况就快过去了,《C++TemplateMetaprogramming》将会系统的讲述C++模板元编程技术,将这门原先只是大师们手中的利器的神秘技术带到普通程序员的手中,赋予普通程序员惊人的力量。 如果说《ModernC++Design》是C++泛型书籍上的经典之作(它的确是),那么这本即将道来的《C++TemplateMetaprogramming》将是经典之后的又一次经典~ 分享 C++的学习方法及书籍推荐 来源:张红的日志 工作半年了,一直觉得自己C++基础太差了,直到现在这种感觉强烈到让我在网上搜能提升的宝典,从现在起,要有的提升编程能力了。贴一篇说的不错的文章。从《C++Primer》,《C++标准程序库》开始打基础了。-------zhangh2011-01-19 (一)我现在理解的C++ 种种原因,很多精力要投入到java的学习和使用中去了,想形成一个学习C++的系列文章,没有什么风格,也没有什么时间表,想到哪就去写。这里把以前自己另外一个ID发表的一篇文章的一部分作为这个系列的第一篇,算是开头吧。 学习C++重在理解其各种语言设施所代表的语义,以及C++所能表示的语义所代表的设计思想。首先从宏观上入手,你需要明白的是——————————————————————————————————————————————— C++是程序设计语言的本质。在此我把C++最重要的性质写下来:C++是一门静态类型检查,基于C内存模式,支持四种基本程序设计范型的语言。注意,这里说明了三个本质特性,静态说明了语言的类型检查性质,基于C内存模式告诉我们在C++中所有与内存有关的操作都需要程序员自己来负责,这样就带来了很多设计程序时的需要注意的地方,而理解支持的四种基本范型却是理解各种语言设施的基础。然后记住C++的最大的一点设计哲学,也是其贯穿应用C++的一条本质,我引用《C++PRIMER》中文版前言内的一句话表示--“C++的基础是各种设施,它们让用户能够通过定义新的数据类型来扩展语言本身,这些新类型可以与内置类型一样的使用方式(如何理解这句话是关键,我的理解是:用户定义类型可以在任何使用内置类型的时候做为其替代,再具体点说就是用户定义类型可以象内置类型那样可以被声明,其对象可以被初始化,可以相互复制,可以象内置类型对象那样和很多操作符一起使用,可以被作为参数传递给函数,可以作为函数的返回值,可以作为容器的操作对象,用户定义类型可以和内置类型一样作为模板的参数),掌握这些设施(哪些设施?就是让用户定义类型可以和内置类型一样方便使用的设施,包括什么?构造,拷贝,解构函数,操作副重载.....)的第一步就是理解基本语言(什么是基本语言?就是C++中betterc部分)。 在此,我还想提出一点十分重要的概念:一门语言的最本质的东西就是其类型系统,任何语言都有自己的独特的类型系统,学习C++就是学习他的类型系统。所以首先需要彻底明白什么是数据类型这个——————————————————————————————————————————————— 概念。这样你的思路就清楚了,你有选择,从每一种C++支持的设计 范型入手学习。 结构化设计-----也就是C++中的betterc部分,你需要在C的基础上学会函数重载和引用这两个最重要的语言新特心性。 基于对象----你需要建立C++最强大的概念--类,也就是用户定义类型,这其实就是数据结构里面接触的抽象数据类型的概念,以及合理构造使用类的一系列语言措施。并始终记住,在C++进行设计时用类来表示我们需要表示的概念。类也是C++抽象机制里面最核心的概念。 (二)书的诱惑 《C++程序设计语言》:如果你只买一本C++书,这本就是你的选择,作者Bjarne就是让你做出这样选择的全部理由,没有人能比他更了解什么样才是真正的使用C++编程了,有人说到这本书语言晦涩,或者对与初学者此书不适合,对此评论我颇不以为然,我看的是中文版,起码在我看来语言描叙非常到位,我喜欢这样的技术描叙风格。全书的核心就是告诉你如何去用正确的观念编写正确的C++的代码。强烈推荐。 《C++语言设计与演化》:这本书也是我同时拥有中英两版的两本书之一(另外一本是《设计模式》)。如果在得到上面的那本书之后你需要第二本,那么在我看来这就是你的选择,作者同样是Bjarne,他将在这本书中告诉你C++的起源与发展,语言原则与本质,各种特性加入的理由和考量,以及几乎一切关于C++有趣的故事。我阅读过中——————————————————————————————————————————————— 英两版,都是强烈推荐。 《C++标准程序库》:在AMAZON上面关于C++书籍评论最为火暴的一本。全书对于标准程序库的介绍可谓深入浅出,而且全书都是从实际运用出发,书中例子简单却非常说明问题,加上一些图表的陈列,使其概念十分清晰,而且从手册和学习两方面看都有其存在价值。强烈推荐。 《EFFECTIVEC++中文版》:无须多说,在任何C++书籍推荐目录中都可以找到这本书的身影,盛名之下必无虚士。主要强调的是运用C++的各种特性的时候所必须注意的地方,以及一些比较通用的设计手段。其短小精悍的语言自然非常适合快节奏的现代风格,个人就十分喜欢Meyer的写作方式。强烈推荐。 《MOREEFFECTIVEC++中文版》:做为上本书的姐妹篇,一样的写作风格,一样的写作目的。只是个人认为和其姐姐相比,存在差距,主要是信息量没有《EFFECTIVEC++中文版》那么大,主要说到了一些C++的设计惯用手法。推荐。 《C++PRIMER中文版》:同样是出自大师之手,作者LIPPMAN,作为早期C++编译器的实现者之一,对与C++的了解以及该如何论序都有自己的独到见解。做为C++的百科全书和《C++程序设计语言》有着一样的地位。但是前者更强调的是C++的语法和其语义,而后者则是以如何用C++进行合理设计做为描叙的中心。全书构思十分巧妙,书的一开始就直接进入C++的主题,前面五章都用类设计一个数据结构,让读者完全明白了各种用户定义类型所代表的抽象能力,然后直——————————————————————————————————————————————— 接进入第六章标准库中的容器类,这样的设计让读者十分清楚的建立容器和类这两个C++中十分重要的概念。这样的设计针对有一定基础的C++读者来说可以说是非常有效果的。但是对于初学者来说,这确实不是一本合适的书籍,因为一上来太多的名词会把刚刚接触C++的人吓着的。推荐。 《C++沉思录》:非常有特点的一本书,全书假设读者已经通晓C++语言,重点告诉读者C++的概念以及一些C++的设计手段,比如用C++到底为什么会比C或者其他过程语言 更好?(书中给出的答案是,因为只有对象才有能力保持一定的状态,而算法没有这样的能力),如何进行抽象数据类型的程序设计,如何理解多态,如何通过代理隐藏继承,如何进行引用技数,为了效率如何进行缓时拷贝,以及模板技术是如何发展演进最后构成成STL库的。阅读感觉和《C++程序设计语言》一样,思想性非常强,读这样的书很累,脑子必须一直思考问题,思考作者里面提出的问题和他提出的解决方式。这本书最大的特点是非常直接的把C++语言的核心暴露出来-----三种抽象模型和极其语言设施本身对这三种抽象模型的支持。而《C++沉思录》给我的更深层思考是什么才是运用C++最合理的方式。推荐。 《C++STL中文版》:很朴实,不花俏,但是价值很高。个人认为其主要价值体现在以下几个方面:1,对于STL的实现关键iterator一般都使用了两种方式描叙,一种比较老式的函数方法,一种是新的?traits技巧,这样读者可以非常清楚的知道技术的演进。2,提供——————————————————————————————————————————————— 了一个STLLITE版本,阅读这样的代码对自己的提高非常大。3,书中提供的测试模块对于读者来说也是非常有的一章,对于想扩展STL的,可以按照上面提供的方法测试自己的STL组件。缺点:装订比较粗糙,与大师之作的地位不相称。推荐 《C++PRIMERPLUS中文版》:一本思想性不是很强,技巧性不是很强的书,但是对于初学者来说非常合适的书。其中许多论序方式都和具体化,总体来说,这本书是我看过的C++书籍里面最合适初学者的。推荐。 《深度探索C++对象模型》:这也是一本比较特别的书,告诉你编译器是如何安排处理对象的内存空间的,以及一些OO特性是如何实现的。不认为这是一本C++必须读物,算是课后读物应该比较合适吧,因为有时间了解C++的OO实现还不如花点时间搞清楚OO理论的本质概念:typetheory。推荐。 《C++设计新思维——泛型编程与设计模式之应用》:可谓C++中的奇书。这样的一本书,很难让人做出正确的评价与推荐指数(尤其是以我这个实用和人生本就应该享乐为人生观的人来说~:),因为全书所代表的思想前卫到了有点不切实际的地步,模式+泛型—多么高雅的组合。我个人的观点是,只有一部分人需要阅读此书,他们就是所谓的realc++fans,暂且不提C++本身是否遇到了困难,就其书中所代表的设计思想,对于C++没有一点感情的程序员(感情就是以爱好为基础,而不是以攒钱为前提),我想对于这样的设计技术总会有晕的感觉,而一般程序员多半都不会喜欢这样的感觉~:)。推荐。 ——————————————————————————————————————————————— 《对象揭秘:Java、Eiffel和C++》:从书名就可以看出这本书不仅仅和C++有关系。可以说全书就是对C++的一次批判吧(书也起源与作者的一篇批判C++的文章)。有时候听听另外一种声音对自己保持清醒的头脑是非常有帮助的,对待一个人,对待一本书以及对待一门程序设计语言都是如此。这本书好象不是很火,大概跟其宣传不是很到位,或者同能同时了解这三门语言并比较关心这些语言深层次的优略的读者比较少有关系吧,在我看来这本书包含了许多对象与类型方面的理论,最为出彩的就是作者抓住Bjarne的“在C++中一个类就是一个类型”这样的“错误”言论狠批的论证过程。看这本书另外一个好处是能教会大家该如何去合理的辩驳自己的对手~:)。推荐。 《大规模C++程序设计》:书在手上很久了,可一直没有仔细看,这也是评论之前必须说明的。总体看来书中涉及的很多东西都鲜见于其他读本。不管AMAZON上的评论是否是这本书比较过时,起码它介绍的许多对与我来说都是我所不知道不了解的,别人说过时是他的事情。而我,还是推荐。 《STL和泛型编程》:难得的一本关于泛型编程的理念书籍,同样也是作为手册和学习两用,但是其手册不是使用手册,而是概念手册,对于设计自己的STL组件,这本书有非 常好的帮助,虽然网上有篇STL的文档,其中的70%内容和这本书雷同,但此书仍不失可读性。推荐。 《C++编程思想第二版》:非常一般的书,是的这就是我对这本很多人奉为名著的评论,至于为什么是这样的评论,或者你不相信我说——————————————————————————————————————————————— 的是客观话,在你买了之后看完就知道了。一般。 《EssentialC++中文版》:总感觉这本书定位不是很清楚,因为对于初学者来说其开始就涉及了太多的名词,初学者看这本书,几乎就不要指望能很好的入门。而对于进阶者来说,其内容并无新意,对于C++高手来说,这样的小读本,根本就没有阅读的必要,也许是LIPPMAN+JJHOU的盛名吧,但我觉得这次算是有虚士了~:)。一般。 《STL源码剖析》:侯SIR的大陆两本著作之一,但在我心中其质量好象并不如很多人说的那样好,就同类作品《C++STL中文版》相比较内容略现单薄,并且三章之后很多东西都给人以堆砌的感觉,而且大部分精彩的都出自《STL和泛型编程》一书,给人感觉书中侯SIR自己的东西并不多,但第二章对于内存管理有很好的论叙表现,并且装订精良,尤其是那些图更是侯SIR的拿手好戏,但总体感觉有点华而不实。一般。 后面列出两本不推荐的,具体原因也就不再分析。 《高质量程序设计指南--C++/C语言》,《C++编码规范》 另外两本常见的C++书籍: 《ExceptionalC++中文版》,《MoreExceptionalC++中文版》我本人并没有阅读过,但其名声不小,而且加之曾经给此书作者HerbSutter通邮件的经历,那种考虑到时差都不到24个小时的回信率以及在信中耐心的对技术讲解的态度,同样向大家推荐这两本书,因为在我看来HerbSutter能力无须考虑加上这样待人的态度,其作品理所值得大家阅读。 ——————————————————————————————————————————————— 如果要继续,选择Window平台的话,就学《Windows程序设计》,介绍API的书,所谓API即系统提供的函数。 如果还要更高,请选择,侯捷写的《MFC深入浅出第三版》,这个书剖析MFC结构,但不做用法讲解,要想摆脱微软的阴影,就得了解这个易用的框架怎么实现的。另外,看一些其他MFC编程的书吧。 如果还要提高的话,恭喜你,一旦成功,新牛人就诞生了。 普通C&C++程序员一般不接触ActiveX、ATL、COM等高深技术。 你要研究的话,推荐从《COM编程》《COM本质论》《COM+》开始吧。 走Linux平台的话,我想ARM嵌入式编程最有前途。不过我在这方面,没得深入,故不多说。《Linux程序设计.第3版》《Linux内核原理》《ARM开发》 推荐的阅读顺序: level1 从<<essentialc++>>(可不看)开始,短小精悍,可以对c++能进一步了解其特性以<<c++primer>>作字典和课外读物,因为太厚不可能一口气看完 level2 然后从<<effectivec++>>开始转职,这是圣经,请遵守10诫,要经常看,没事就拿来翻翻 ——————————————————————————————————————————————— 接着是<<exceptionalc++>>,个人认为HerbSutter主席大人的语言表达能力不及ScottMeyers总是在教育第一线的好 顺下来就是<<moreeffectivec++>>和 <<moreexceptionalc++>>,请熟读并牢记各条款当你读到这里,应该会有一股升级的冲动了 level3 <<insiedthec++objectmodel>>看过后如一缕清风扫去一直以来你对语言的疑惑,你终于能明白compiler到底都背着你做了些什么了,这本书要细细回味,比较难啃,最好反复看几遍,加深印象 看完上一本之后,这本<<Thedesignandevolutionofc++>> 会重演一次当年他爹在设计整个语言过程中的历程 level4 <<thec++standardlipary>>是stl的字典,要什么都可以查得到 学c++不能不学stl,那么首先是<<effectivestl>>,它和圣经一样是你日常行为的规范 <<genericprogrammingandthestl>>让你从oo向gp转变 光用不行,我们还有必要了解stl的工作原理,那么<<stl源码剖析>>会解决你所有的困惑 level5 对于c++无非是oo和gp,想进一步提升oo, ——————————————————————————————————————————————— <<exeptionalc++style>>是一本主席这么多年的经验之谈,是很长esp的 一位stl高手是不能不去了解template的, <<c++template>>是一本百科全书,足够你看完后对于gp游刃有余 <<modernc++design>>是太过聪明的人写给明眼人看的 好书有很多,不能一一列举 以上我的读书经历,供各位参考。接下来的无非就是打怪练级,多听多写多看;boost、stl、loki这些都是利器,斩妖除魔,奉劝各位别再土法练钢了。希望对大家有帮助。先从个人经验和对本人所影响的书籍谈起。 1.effectiveC++(繁体版) 2.moreeffectiveC++(繁体版) 这年本书乃是改善设计思维和设计思想的必读书籍,书中每个item莫不是经过千锤百炼之后得出。其中,effective比较浅显易懂,每个item都比较短,而more设计思想更进一层,有些item已经多多少少有设计模式的味道。我看过的是繁体版,这两本书候老师翻译得不 错(我觉得是候老师翻译得最好的两本书,比较认真),读起来比较有味道。建议初学者在看完一本C++比较完整的书后直接拜读此2书。 ——————————————————————————————————————————————— 3.effectiveSTL,和上面两本都是meyer的大作,但比起上面两本,这本的含金量稍微不足,该书沿袭前面两本书的写作风格,重点论述STL的高效应用和注意事项,我都觉得moreexceptionC++等有些思想都和此书非常类似。潘老师早就把此书翻译完了,不知道他们清华出版社为何到现在还不出来,难道要等到2003C++新的标准出来后作为昨日黄花卖。 4.C++Primer,lippman的地位自然不用猜疑,此书也被评为C++的最佳入门书籍,也是Lipman写得最认真的一本书,第3版在国内98年就有了。全书可谓是C++大全,深度适当,比较适合初学者,或者想对C++和程序设计有大概了解的读者,但就是比较厚,这也只能怪C++的源远流长,总是在打园场,不断增加新特性,让我们这群读者都不得不捧着这本大书品读。中文版是潘老师翻译的,文字通顺,但缺乏味道,看着一本千来页的书,而且前面一部分讲的都是程序设计思想,容易令人产生困倦,也难怪很多人半道出家学java。 5.TheC++Programminglanguage这是一本每个人都应该买但不一定要看的书,强烈建议初学者不要看这本书,否则可能会一头雾水,失去信心,BS写书本来就不怎么样,他自己都说他的书有些晦涩难懂,但是买一本放在书柜里,有什么不清楚的地方查查高人如何解析还是有必要的。中文版是裘老师翻译的,以裘老师的深厚功力,技术上大家大可放心,但语言流畅上我就不敢认同了,况且这还是一本大书,如果要追求语言流畅的话,可能没有两3年是出不来的,而且国内的出版社又那么急功近利,稿酬不高,做得那么好有必要吗? ——————————————————————————————————————————————— 6TheC++standardlibrary,就是现在卖得比较热的书,梦魇和候节翻译的,翻译得很好,语言很通顺,技术上也很好,只是书中有些代码我是调试不过,或许只能怪STL里面有几个经典错误,不知看这本书的读者发现了没有?我严重建议C++的初学者看这本书,先知道应该怎么来用C++,怎么来充分利用标准库,而不是一头钻入C++的庞大晦涩语法里面,先用标准库才能养成良好的代码编写风格,更可以提高自己的实作能力,否则你如果花上一年半载在C++的语言细节上,可能自己都生气为什么还是写不出好的程序出来,公欲善其事,必先利其器就是这个道理。 7.designpatternexplained,看了上面这些书之后,没有必要再只是关心C++了,即使你花上更多的时间在C,,上面,也很难有大的进步,现在正是开始分析OOD的时候,designpattern就可以帮你深入了解设计的奥妙,更上一层楼,designpatternexplained这本书浅显易懂,对于pattern这个深奥的东西,能写出这么好看的书,确实难得,让人不得不佩服两位作者alan和james的过人之处,全书通过两个具体实例(autocad和etail)分析了Gamma95里面的一些模式,对我而言,是看到这儿才真正明白Gamma95里面的一些模式的。中文版最近就要出版了,由透明翻译,质量应该还可以。 8.designpattern。这是一本严肃的书,这是一本重量级的书,这是一本难懂的书,如果你真正把这本书弄得清清楚楚了,我愿意俯首向你请教。23个模式乃是以前OOD的一部分精华,4人帮(指作者)都是天才,此书是95年写的,但它的影响至少有10年。对于初学者,——————————————————————————————————————————————— 除非那种数学底子很好,思维能力很强的读者,最好别看该书,而是先看上面的那本DPE。中文版的翻译只能说是差强人意,有一些错误,语句不通顺,是由南京大学的4位博士翻译的,但在当时敢于翻译此书,也令人佩服。 9.modernC++design这是天才AndreiAlexandrescu的作品,很好的一本高阶书,此书我只是浏览一下大概,没有仔细看,有些地方看不懂,全书把C++和设计模式融为一体,向人展示了许多不平常的设计技巧与设计规范,令人折服。但有些难度,还望各位慎重。至于里面的技术实不实用,就要因人而异了。 10.C++Template我没看过这本书,但听过这本书,据说书中展示了模板的精华之处。 11.exceptionalC++和moreexceptionalC++.HerbSutter的书读起来比较轻松,此2书可以 作为effective与moreeffective的姐妹篇,写作风格有些如苏格拉底的提问式教学,但应用得还不够火候。书的内容确实不错,定位和effective差不多,但我个人而言还是更喜欢Meyer的书。More有中文版,有Lostmouse翻译,质量一般,翻译给人的感觉比较仓促,很多地方都过于直译,味道怪怪的。 12。essentialC++很简单的一本书,初学者如果觉得自己确实很菜可以先看这本书,你肯定能看懂,也是lippman的书,但英文版有些地方值得商榷,还是看候节的中文版吧,翻译得还可以,就是台湾味道太浓了些,有点喧宾夺主之嫌。如了门的读者就没必要看这本书了,——————————————————————————————————————————————— 看它还不如看lippman的insidetheC++objectmodel呢。 13designingandcodingreusableC++,关于重用和程序库设计的一本书,是由AT&T的Ellis夫妇写的,书写得很好,充分考虑了设计可重用程序库的方方面面,对于每个想设计程序库和的读者都应该看这本书,中文版名是《设计和重用C++程序库》,即将出版。 14。thinkinginC++,我是觉得此书一般,并没有外面吹的那么好,可以说是中等偏上吧,要看就要看英文版的,中文版的千万别看,那个译者太不负责了。 15RunminationonC++,据说人邮既要出版了,是由konnig夫妇写的,如果你想知道cfront的历史,还想清楚cfront的领导者,就找他们夫妇吧,那时,konig和BS是独立的,而其它的人都是由konig夫人Barbara领导的,konig在C++中可算是number2,属于学术派的那种,实际上C++也是分派别的。英文版的质量肯定很好,有很多新的设计观念,中文版还要期待,看看结果如何。 16AcceleratedC++也是koenig和Barbara夫妇写的,据说很好,但我没机会看,实在不敢评价 1.<<TheC++ProgrammingLanguage>>,BjarneStroustrup 这是一本每个人都应该买但不一定要看的书,强烈建议初学者不要看这本书,否则可能会一头雾水,失去信心,BS写书本来就不怎么样,他自己都说他的书有些晦涩难懂,但是买一本放在书柜里,有什么不清楚的地方查查高人如何解析还是有必要的。中文版是裘老师翻译的,以裘老师的深厚功力,技术上大家大可放心,但语言流畅上——————————————————————————————————————————————— 我就不敢认同了,况且这还是一本大书,如果要追求语言流畅的话,可能没有两3年是出不来的,而且国内的出版社又那么急功近利,稿酬不高,做得那么好有必要吗? 2.<<C++Primer>>,lippman? lippman的地位自然不用猜疑,此书也被评为C++的最佳入门书籍,也是Lipman写得最认真的一本书,第3版在国内98年就有了。全书可谓是C++大全,深度适当,比较适合初学者,或者想对C++和程序设计有大概了解的读者,但就是比较厚,这也只能怪C++的源远流长,总是在打园场,不断增加新特性,让我们这群读者都不得不捧着这本大书品读。中文版是潘老师翻译的,文字通顺,但缺乏味道,看着一本千来页的书,而且前面一部分讲的都是程序 设计思想,容易令人产生困倦,也难怪很多人半道出家学java。 3.<<effectiveC++>>Scottmeyer同下 4.<<moreeffectiveC++>>,meyer 这年本书乃是改善设计思维和设计思想的必读书籍,书中每个item莫不是经过千锤百炼之后得出。其中,effective比较浅显易懂,每个item都比较短,而more设计思想更进一层,有些item已经多多少少有设计模式的味道。我看过的是繁体版,这两本书候老师翻译得不错(我觉得是候老师翻译得最好的两本书,比较认真),读起来比较有味道。建议初学者在看完一本C++比较完整的书后直接拜读此2书。 5.<<TheC++standardlibrary>> ——————————————————————————————————————————————— 就是现在卖得比较热的书,梦魇和候节翻译的,翻译得很好,语言很通顺,技术上也很好,只是书中有些代码我是调试不过,或许只能怪STL里面有几个经典错误,不知看这本书的读者发现了没有?我严重建议C++的初学者看这本书,先知道应该怎么来用C++,怎么来充分利用标准库,而不是一头钻入C++的庞大晦涩语法里面,先用标准库才能养成良好的代码编写风格,更可以提高自己的实作能力,否则你如果花上一年半载在C++的语言细节上,可能自己都生气为什么还是写不出好的程序出来,公欲善其事,必先利其器就是这个道理。 6.<<modernC++design>>AndreiAlexandrescu 这是天才AndreiAlexandrescu的作品,很好的一本高阶书,此书我只是浏览一下大概,没有仔细看,有些地方看不懂,全书把C++和设计模式融为一体,向人展示了许多不平常的设计技巧与设计规范,令人折服。但有些难度,还望各位慎重。至于里面的技术实不实用,就要因人而异了。 7.<<C++Template>>据说书中展示了模板的精华之处 8.<<exceptionalC++和moreexceptionalC++>> HerbSutter的书读起来比较轻松,此2书可以作为effective与moreeffective的姐妹篇,写作风格有些如苏格拉底的提问式教学,但应用得还不够火候。书的内容确实不错,定位和effective差不多,但我个人而言还是更喜欢Meyer的书。More有中文版,有Lostmouse翻译,质量一般,翻译给人的感觉比较仓促,很多地方都过于直译,味道怪怪的。 ——————————————————————————————————————————————— 9.<<essentialC++>>lippman(笔者注:其实这本书没必要看,作者的这本书是定位于没有接触c,,的其他的程序员速成c,,的,初学者也不是很适合,而对于比较熟悉,,,语法就没必要看了,因为比较简单。)很简单的一本书,初学者如果觉得自己确实很菜可以先看这本书,你肯定能看懂,也是lippman的书,但英文版有些地方值得商榷,还是看候节的中文版吧,翻译得还可以,就是台湾味道太浓了些,有点喧宾夺主之嫌。如了门的读者就没必要看这本书了,看它还不如看lippman的insidetheC++objectmodel呢。 10.<<designingandcodingreusableC++>>关于重用和程序库设计的一本书,是由AT&T 的Ellis夫妇写的,书写得很好,充分考虑了设计可重用程序库的方方面面,对于每个想设计程序库和的读者都应该看这本书,中文版名是《设计和重用C++程序库》,即将出版。 11.<<thinkinginC++>>我是觉得此书一般,并没有外面吹的那么好,可以说是中等偏上吧,要看就要看英文版的,中文版的千万别看,那个译者太不负责了? 12.<<RunminationonC++>>据说人邮既要出版了,是由konnig夫妇写的,如果你想知道cfront的历史,还想清楚cfront的领导者,就找他们夫妇吧,那时,konig和BS是独立的,而其它的人都是由konig夫人Barbara领导的,konig在C++中可算是number2,属于学术派的那种,实际上C++也是分派别的。英文版的质量肯定很好,有很多新的设计观念,中文版还要期待,看看结果如何。?(笔者注:——————————————————————————————————————————————— 这本书好像早就出版了,中文名《C++沉思录》,不过在第二书店和china,pub没没有了,好像说是绝版了,需要的话网上下电子版自己打印一下) 13.<<AcceleratedC++>>也是koenig和Barbara夫妇写的,据说很好,但我没机会看,实在不敢评价。(笔者注:据说这本书是很经典的C++入门的书籍) 14<<C语言接口与实现:创建可重用软件的技术>> 下面是另外一个推荐的,有些书已经有中文版了,大家可以去china,pub看看谁翻译的,翻译得怎么样,然后根据自己的英语水平选择看中文还是英文。 此处学习C++的分了两个系列:C++/OPP/OOD系列和 Genericity/STL系列。 第一系列:C++/OPP/OOD系列:分四个层次。 层级一:语法/语意(C++) 笔者注:这个层次的推荐并不好,前面的基本其实不是很合适,而且推荐的其中一些书籍也不是最好的。 [Lippman2000]EssentialC++ EssentialC++,byStanleyB.LippmanAddisonWesleyLongman2000,276page sEssentialC++中文版,侯俊杰译,282页 [Gregory95]C++:TheCoreLanguage C++:TheCoreLanguagebyGregorySatir1995O"Reilly ——————————————————————————————————————————————— C++语言核心,张铭泽译,236页 [Deitel98]TheCompleteC++TrainingCourse TheCompleteC++TrainingCourse2/ebyHarveyM.Deitel1998PrenticeHall C++大学教程(第二版),邱仲潘等 [Stevens2000]StandardC++Bible译,816页 StandardC++Bible??2000AlStevensIDG 标准C++宝典,林丽闽等译,766页 [Eckel2000]ThinkinginC++ ThinkinginC++2/eBruceEckel?20001470pagesPrenticeHall C++编程思想,刘宗田等译,420页 [Lippman98]C++Primer C++Primer,3rdEditoin,byStanleyLippmanandJoseeLajoie AddisonWesleyLongman,19981237pages C++Primer中文版,侯俊杰译,1999,1237页 [Struostrup2000]TheC++ProgrammingLanguage TheC++ProgrammingLanguage,SpecialEditoin,byBjarneStroustrup AddisonWesleyLongman,2000,1017pages C++程序语言经典本,叶秉哲译,儒林1999 [ANSIC++]C++规格书1998.9.1PDF格式 ANSIC++1996Draft 层级二:专家经验(C++/OOP) ——————————————————————————————————————————————— [Meyers96]MoreEffectiveC++ MoreEffectiveC++,byScottMeyers,AddisonWesley,1996,318pages MoreEffectiveC++中文版,侯俊杰,培生2000.318页 [Meyers98]EffectiveC++ EffectiveC++, SecondEdition,byScottMeyers,AddisonWesleyLongman,1998.256pagesEffectiveC++2/e中文版,侯俊杰,培生2000.256页 [Sutter99]ExceptionalC++ ExceptionalC++, byHerbSutter,AddisonWesleyLongman,2000.208pages ExceptionalC++中文版,侯俊杰,培生2000.248页 [Sutter2001]MoreExceptionalC++ MoreExceptionalC++byHerbSutter,AddisonWesleyLongman,2001. 层级三:底层机制(C++ObjectModel) [Ellis90]TheAnnotatedC++ReferenceManual TheAnnotatedC++ReferenceManual,byMargaretA.EllisandBjarneStroustrupAddisonWesleyLongman,1990,447pages. [Lippman96]InsidetheC++ObjectModel InsidetheC++ObjectModel,byStanleyLippman,AddisonWesleyLongman,1996,280pages ——————————————————————————————————————————————— 深度探索C++物件模型,侯俊杰译 层级四:设计观念的复用(C++/Patterns) [Gamma95]DesignPatterns: ElementsofReusableObjectOrientedSoftware, byErichGamma,RichardHelm,RalphJohnson,andJohnVlissides,AddisonWesley,1995.395pages 设计模式,李英军等译,机械工业出版社,2000.254页 [Alex2001]ModernC++Design:GenericProgrammingandDesignPatternsAppliedbyAndreiAlexandrescu,Addison-Wesley,2001,352Paper 第二个系列:Genericity/STL系列: 第一个境界是使用STL: [Josuttis99]:TheC++StandardLibrary, ATutorialandReference,byNicolaiM.Josuttis,AddisonWesley1999.799pages 第二个境界是了解泛型技术的内涵与STL的学理: [Austern98]:GenericProgrammingandtheSTL-UsingandExtendingtheC++StandardTemplatelibrary,byMatthewH.Austern,AddisonWesley1998.548page 第三个境界是扩充STL: ——————————————————————————————————————————————— [Stepanov2001]:C++StandardTemplateLibrarybyP.J.Plauger,AlexanderA.Stepanov,MengLee,DavidR.Musser,PrenticeHall2001 这些就是你应该看的书,如果你想成为高手。 ———————————————————————————————————————————————
/
本文档为【c 语言书籍推荐 计算机】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索