任我行

一天一个脚印......
每日一句:
posts - 54, comments - 218, trackbacks - 1, articles - 0
  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

C++阅读渐进书目

Posted on 2005-11-07 13:52 任我行 阅读(2521) 评论(9)  编辑 收藏 引用 所属分类: C++

我自己觉得应该还要加一本书:
《 Inside the C++ Object Model》我自己现在也在看这本书,对C++对象模型介绍的非常好,是深入了解C++的资料书籍。C++学习应该从两个方面来学习,首先学习C++语言层面,也就是C++语法,如果深入学习的话就会进入C++底层。。。第二个层面就是对象,设计很广泛:对象设计,对象复用,STL,COM,BOOST。。。

1. 《The C++ Programming Language》 (Special 3rd Edition) by Bjarne Stroustrup
C++之父著作的大头作,非常不错,很厚,对C++介绍的非常详细。

2. 《The Design and Evolution of C++》 by Bjarne Stroustrup
如果你只打算购买一本书,那就选择1,如果还想要第二本 — 那就是这两本了。它们的作者是 C++语言的创建者。Stroustrup的文字语言丝毫不逊色于他所创建的程序语言。它们可以使你免于误入歧途。

3. 《Effective C++》: 50 Specific Ways to Improve Your Programs and Designs
 by Scott Meyers

4. 《More Effective C++》: 35 New Ways to Improve Your Programs and Designs
 by Scott Meyers

5. 《Effective STL》: 50 Specific Ways to Improve Your Use of the Standard Template Library by Scott Meyers
我强烈推荐Meyers这个系列。它们是菜鸟进阶必读之作。游刃有余的技术,高超的写作技巧。Meyers可能是世界上最优秀的C++技术作家。

6. 《The C++ Standard Library》 : A Tutorial and Reference by Nicolai M. Josuttis
C++标准库字典式著作。内容全面,结构清晰。

7. 《C++ Templates》: The Complete Guide by David Vandevoorde,
Nicolai M. Josuttis Alexandrescu的Modern C++ Design阅读门槛很高,这本书可以充当你的垫脚石。单单阅读The C++ Standard Library或许并不足以使你具备定制、扩充标准库组件的能力,这本书可以助你一臂之力。对于任何希望进入模板编程领域的C++程序员来说,这是一本必读之作。

8. 《Modern C++ Design》: Generic Programming and Design Patterns Applied
 by Andrei Alexandrescu
一本天才的著作!泛型模式,无限延伸你的视野,足以挑战任何一名C++程序员的思维极限。这本书几乎可以满足你对C++模板的所有幻想。

9. 《Design Patterns》
 by Erich Gamma , Richard Helm, Ralph Johnson, John Vlissides
设计可复用的面向对象的软件,你需要掌握设计模式。这并不是一本专门针对C++程序员的著作,但它采用了C++(和Smalltalk)作为主要示例语言,C++程序员尤其易于从中受益。学习设计模式,这本书需要一而再、再而三的咀嚼。

Feedback

# re: C++阅读渐进书目  回复  更多评论   

2005-11-30 10:11 by 任我行
再贴:
推荐C++教程

1. <<The C++ Programming Language>> , Bjarne Stroustrup
这是一本每个人都应该买但不一定要看的书,强烈建议初学者不要看这本书,否则可能会一头雾水,失去信心,BS写书本来就不怎么样,他自己都说他的书有些晦涩难懂,但是买一本放在书柜里,有什么不清楚的地方查查高人如何解析还是有必要的。中文版是裘老师翻译的,以裘老师的深厚功力,技术上大家大可放心,但语言流畅上我就不敢认同了,况且这还是一本大书,如果要追求语言流畅的话,可能没有两3年是出不来的,而且国内的出版社又那么急功近利,稿酬不高,做得那么好有必要吗?

2. <<C++ Primer>> , lippman
lippman的地位自然不用猜疑,此书也被评为C++的最佳入门书籍,也是Lipman写得最认真的一本书,第3版在国内98年就有了。全书可谓是C++大全,深度适当,比较适合初学者,或者想对C++和程序设计有大概了解的读者, 但就是比较厚,这也只能怪C++的源远流长,总是在打园场,不断增加新特性,让我们这群读者都不得不捧着这本大书品读。中文版是潘老师翻译的,文字通顺,但缺乏味道,看着一本千来页的书,而且前面一部分讲的都是程序设计思想,容易令人产生困倦,也难怪很多人半道出家学java。

3. <<effective C++ >> Scott meyer 同下

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

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


6. <<modern C++ design >> Andrei Alexandrescu
这是天才Andrei Alexandrescu的作品,很好的一本高阶书,此书我只是浏览一下大概,没有仔细看,有些地方看不懂,全书把C++和设计模式融为一体,向人展示了许多不平常的设计技巧与设计规范,令人折服。但有些难度,还望各位慎重。至于里面的技术实不实用,就要因人而异了。


7. <<C++ Template>> 据说书中展示了模板的精华之处


8. <<exceptional C++ 和more exceptional C++>>
Herb Sutter的书读起来比较轻松,此2书可以作为effective与more effective的姐妹篇,写作风格有些如苏格拉底的提问式教学,但应用得还不够火候。书的内容确实不错,定位和effective差不多,但我个人而言还是更喜欢Meyer的书。More有中文版,有Lostmouse翻译,质量一般,翻译给人的感觉比较仓促,很多地方都过于直译,味道怪怪的。


9. <<essential C++>> lippman 很简单的一本书,初学者如果觉得自己确实很菜可以先看这本书,你肯定能看懂,也是lippman的书,但英文版有些地方值得商榷,还是看候节的中文版吧,翻译得还可以,就是台湾味道太浓了些,有点喧宾夺主之嫌。如了门的读者就没必要看这本书了,看它还不如看lippman的inside the C++ object model呢。


10 . <<designing and coding reusable C++>> 关于重用和程序库设计的一本书,是由AT&T的Ellis夫妇写的,书写得很好,充分考虑了设计可重用程序库的方方面面,对于每个想设计程序库和的读者都应该看这本书,中文版名是《设计和重用C++程序库》,即将出版。


11. <<thinking in C++>> 我是觉得此书一般,并没有外面吹的那么好,可以说是中等偏上吧,要看就要看英文版的,中文版的千万别看,那个译者太不负责了

12. <<Runmination on C++>> 据说人邮既要出版了,是由konnig夫妇写的,如果你想知道cfront的历史,还想清楚cfront的领导者,就找他们夫妇吧,那时,konig和BS是独立的,而其它的人都是由konig夫人Barbara领导的,konig在C++中可算是number 2,属于学术派的那种,实际上C++也是分派别的。 英文版的质量肯定很好,有很多新的设计观念,中文版还要期待,看看结果如何。

13. <<16Accelerated C++>> 也是koenig和Barbara夫妇写的,据说很好,但我没机会看,实在不敢评价。

14 <<C语言接口与实现:创建可重用软件的技术>>

# re: C++阅读渐进书目  回复  更多评论   

2006-05-22 09:55 by david
版主是否全部阅读过此书目

# re: C++阅读渐进书目  回复  更多评论   

2006-05-26 11:39 by Q
如果我有时间,我一定要把这些书全部读完~

# re: C++阅读渐进书目  回复  更多评论   

2006-05-26 13:11 by 任我行
不是你没时间,而是你不去读。

本人看过其中的两本多。但还不是领会通透。

# re: C++阅读渐进书目  回复  更多评论   

2006-05-31 23:45 by 含笑半步癫
1. 《The C++ Programming Language》 (Special 3rd Edition) by Bjarne Stroustrup
C++之父著作的大头作,非常不错,很厚,对C++介绍的非常详细

我的看法正相反,这书内容是不少,但是一些该深入的地方蜻蜓点水,一笔带过。对于入门的,内容又明显太泛,太深。感觉此书定位有问题。
Scott Meyers的倒是不错,针对性强,值得一读。

# re: C++阅读渐进书目  回复  更多评论   

2006-06-01 01:00 by rainday
还有一本exception c++

# re: C++阅读渐进书目  回复  更多评论   

2006-06-01 21:40 by <font color="#FF00FF" >Stone Jiang
看过的贴贴书评吧。我似乎一本都没有看过。

# re: C++阅读渐进书目  回复  更多评论   

2006-08-08 16:49 by songix
"<<Accelerated C++>> 也是koenig和Barbara夫妇写的,据说很好,但我没机会看,实在不敢评价。 "

这书主要是讲入门的人如何快速上手使用C++的,对C++的基础概念、库的使用讲得多。使用这书的确很容易上手。

“<<thinking in C++>> ”,作者在序言里面也写了,此书是用作《C++ Primer》的入门铺垫的。讲得也不错。但我觉得如果看后者没什么问题,这书可以只翻翻就行。

“<<C++ Template>> 据说书中展示了模板的精华之处”模板相关的书听说这书不错的,我下到的不知道是不是完整的版本。

《Effective STL》这书怎么说呢,使用STL的确用这书容易上手,但其中的有些条目得出的结论会让你莫名其妙,除非你先看过《The C++ Standard Library》。

《The C++Programming language》,这书就不用讲了。以前曾以为若能通读此书无甚困惑,C++即至中高级水准,现在看来还不止。但正如楼上同仁所讲,这书因为作者就是C++的始作俑者,所以讲述的题目往往是信手拈来,只讲自己觉得重要的。其实遗漏了不少地方。绝对不适合初学者使用的。

最后想说的几句,C++本身从C里面继承了不少特性,特别关于数据类型转换的东东,特别让人头晕。
C++本身的设计是即可以作为库使用,也可以作为语言使用。而且试图通过使用库来扩大语言的功能。这就给学习者很多困惑,因为很多特性和知识都是涉及在库的设计方面。如果觉得困惑也不要气馁。其实如果看过《Accelerated C++》和《C++ Primer》,C++的使用应该是没有什么问题的。

但如果要作为一个库的设计者来说,即使这些书都看完了。也不一定能解决你的困惑的。再去看看ISO的C++标准吧。然后使用GCC,开源的编译器可以让你找出困惑你的C++精微之处。


# (轉貼) C 必读Bible (C/C )[TrackBack]  回复  更多评论   

2008-05-30 16:07 by 真 OO无双
原作者為oosky,载于http://www.cppblog.com/oosky/archive/2005/11/07/966.html我再加以排版潤色 1.  查看原文

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理