考c++程序员应看哪些书

考c++程序员应看哪些书,第1张

《The C++ Standard Library: A Tutorial and

Reference》原文版

中文版:《C++标准程序库:自修教程与参考手册》

这是一本百科全书式的C++标准库著作,是一本需要一再查阅的参考大全。它在完备性、细致性以及精确性方面都是无与伦比的。本书详细介绍了每一标准库组件的规格和用法,内容涵盖包括流和本地化在内的整个标准库而不仅仅是STL。正如本书副标题所示,它首先适合作为教程阅读,尔后又可用作参考手册。

浅显易懂的写作风格使得这本书非常易读。如果你希望学习标准库的用法并尽可能地发挥其潜能,那你必须拥有这本书。正如网络上所言,这本书不仅仅应该摆在你的书橱中,更应该放到你的电脑桌上。我向每一位职业C++程序员强烈推荐。

《Standard C++ IOStreams and Locales: Advanced

Programmer's Guide and Reference》原文版

中文版《标准C++输入输出流与本地化》

C++标准库由STL、流和本地化三部分构成。关于STL的书市面上已经有不少,但罕见流和本地化方面的专著。本书是这两个领域中最优秀的一本,迄今为止没有任何一本书比这一本更全面详尽地讨论了流和本地化。如果你不满足于停留在“会用”流库的层面,千万不要错过它。

2001年夏天,我草草翻阅过这本书的中文版,从内容到包装都给我留下了比较深刻的印象——不过负面的居多一些。2003年秋天,无意中得知某网络书店正以超低价格甩卖这本书的中译本,情不自禁,一阵唏嘘。

《Effective STL》影印版、中文版

读完Scott 的《Effective C++》和《More Effective

C++》的中译本之后,我一直期待这本书的中文版。我从潘爱民先生的个人主页上了解到,他和他的合作伙伴似乎早已完成了这本书的翻译工作,可惜至今市面上仍不得见。幸运的是,我们可以看到它的原版。

本书是使用STL的程序员必读之作。在这本书中,Scott向我们讲述STL容器和算法的工作机制以及如何以最佳方式使用它们。和Scott的其他作品一样,这本书的写作风格清晰、精确,具有极佳的可读性。看过这本书以后,我想你也许会和我以及其他C++程序员一样产生这样的想法:Scott什么时候会写出一本“More

Effective STL”?

《Generic Programming and the STL: Using and Extending the C++

Standard Template Library》影印版、中文版《泛型编程与STL》

关于STL,我还提醒你留心Matthew H Austern的《Generic Programming and the STL: Using and

Extending the C++ Standard Template

Library》(《泛型编程与STL》,中国电力出版社)。这本书散发着浓厚的学院气息。Andrew Koenig和Barbara

Moo在《Accelerated C++: Practical Programming by

Example》一书末尾郑重推荐另外两本进阶好书(除了他们自己的《Ruminations on C++》外),其中一本是TCPL,另外一本就是本书!

网络编程

在网络编程时代,C++应该扮演着怎样的角色,让ACE(Adaptive Communications Environment)来告诉你。

Douglas C Schmidt, Stephen D Huston,《C++ Network Programming》Volume 1:

Mastering Complexity with ACE and Patterns、Volume 2: Systematic Reuse with ACE

and Frameworks

中文版:,《C++网络编程》卷1:运用ACE和模式消除复杂性、卷2:基于 ACE 和框架的系统化复用

采用C++进行企业级网络编程,目前ACE(以及这两本书)是一个值得考虑的选择。ACE是一个面向对象、跨平台、开放源码的网络编程框架,目标在于构建高性能网络应用和中间件。Douglas是ACE的创始人,Stephen则已为ACE提供了数年的技术支持和顾问服务,两位都是ACE社群(是的,ACE的影响和实际应用的程度已经形成了一个社群)的专家。

ACE并不单单被大学和研究所追捧,它已经被成功地应用于世界上成千上万个商业应用中。在电信、宇航、医药和财经领域的网络系统中,ACE已经并继续发挥着重要的作用。如果你准备开发高性能通讯系统,你应该考虑考虑这一汇集世界顶尖专家智慧的成果。

除了使用C++面向对象设计技术和模板等高级语言特性外,ACE还运用了大量的模式。《C++网络编程》卷1和卷2并不仅仅教你关于ACE的方方面面,它还会教给你模式和通用框架设计等高级技术等。所以,作为一名中、高级C++程序员,即使你很少进行正儿八经的C++网络程序设计,阅读这两本书同样可以从中受益。

是的,并非所有网络应用都要使用Web服务器(以及其他应用服务器)和重量级组件模型,换个思路,它们或许也可以从轻量级的ACE组件中获益。

杂项

以下几本书所以被列入“杂项”单元,是因为我没有考虑到合适的归类方法,它们和上面的书籍一样,值得一读。

Bruce Eckel,《Thinking in C++》影印版二版、三版(又名卷二)

中文《C++编程思想》二版、卷一:标准C++导引 卷二:实用编程技术

《Thinking in

C++》的第1版于1996年荣获“软件研发”杂志评选的图书震撼大奖。最新推出的第2版对内容进行了大幅改写和调整,以反映C++标准化带来的影响以及近几年面向对象领域最新研究和实践成果。“输入输入流”、“多重继承”、“异常处理”和“运行时类型识别”等高级主题连同C++标准化以后增加的一些内容则被放入第二卷中。Bruce是一名经验丰富的C++讲师和顾问,其培训和写作经验都是世界一流水准,他的作品比那些“玩票”的技术人员写的东西更能吸引读者。事实上,在同类图书中,对于大多数读者而言,这本书的可读性要超过TCPL和《C++

Primer》。顺带一提,访问作者的站点,你可以先睹第二卷的风采。

Andrew Koenig, Barbara E Moo,,《Ruminations on C++: A Decade of Programming

Insight and Experience》原版、中文版《C++沉思录》

Andrew是世界上屈指可数的C++专家。这是一本关于C++编程思想和程序设计技术而非语言细节的著作。如果你已经具有一定的基础,这本书将教你在进行C++编程时应该怎样思考,应该如何表达解决方案。整本书技术表达透彻,文字通俗易懂。Bjarne这样评价这本书:本书遍布“C++是什么、C++能够做什么”的真知灼见。

Stanley B Lippman,《Inside The C++ Object Model》影印版、中文版《深度探索C++对象模型》

从编译器的角度观察C++可以使你知其然并知其所以然。本书探讨了大量的C++面向对象程序设计的底层运作机制,包括构造函数、函数、临时对象、继承、虚拟、模板的实例化、异常处理、运行期类型识别等,另外还介绍了一些在实现C++对象模型过程中做出的权衡折衷。喜欢刨根问底的C++程序员不要错过这本书。

Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, Design Patterns:

Elements of Reusable Object-Oriented software

Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides,《Design Patterns:

Elements of Reusable Object-Oriented software》影印版、中文版《设计模式:可复用面向对象软件的基础》

设计可复用的面向对象的软件,你需要掌握设计模式。本书并非专为C++程序员而写,但它采用了C++(以及Smalltalk)作为主要示例语言,C++程序员尤其易于从中受益。四位作者都是国际公认的面向对象软件领域专家,他们将面向对象软件的设计经验作为设计模式详细记录下来。这本书影响是如此深远,以至于四位作者以及本书都被昵称为GoF(Gang

of

Four)。本书学院气息浓厚,行文风格严谨简洁,虽然它不如某些讲解模式的书籍易读,但真正要精准地理解设计模式,本书是终极权威。学习设计模式,这本书需要一而再、再而三的咀嚼。顺带一句:请将设计模式化作开拓思维的钥匙,切莫成为封闭思维的枷锁。

John Lakos,《Large-Scale C++ Software Design》中文版《大规模C++程序设计》、候捷:《STL 源码剖析》

还有一些C++好书值得一读,恕此处无法一一列出。例如John Lakos的著作《Large-Scale C++ Software

Design》(《大规模C++程序设计》,中国电力出版社)和侯捷先生的《STL 源码剖析》(华中科技大学出版社)等。

《STL

源码剖析》是一本很有特色的书,但我认为它还可以更好。我个人期待侯捷先生自第一版发行以来经过对模板技术的沉淀和再思考之后,再写一本剖析得更深入、更透彻并且更全面的“第二版”。遗憾的是,侯捷先生在完成《C++

Templates: The Complete Guide》一书的翻译后似乎决定暂时告别模板、泛型编程和STL领域。

使用C++成功开发大规模软件系统,不仅需要很好地理解大多数C++书籍中讲述的逻辑设计问题,更需要掌握《大规模C++程序设计》中讲述的物理设计技术。当然,这本书的确有点过时了,不过,如果你的精力和金钱都比较宽绰,买一本看看并无坏处。

至此,我想有必要声明一下,有一些(好)书没有得到推荐,主要原因如下:

以上这些书已经足够多、足够好了。

我不会推荐通过正常渠道很难购买到的书籍 ——不管是中文版还是英文版。

作(译)者名气大小不影响我的推荐。我们是在看书,不是看人。

我不会推荐我从来没有看过的书。我至少要看过其中的某个版本(包括电子档)。这个“看”,一般指“认真阅读”,不过有一些也只能算是“浏览”。

结语

作为一名普通技术写译者,我深知技术创作和翻译的艰辛(和快乐),并多多少少了解一些有关技术书籍创作、翻译、制作、出版以及市场推介背后的细节。今天,我不会再对一本看上去差强人意的图书信口开河。罗列同一本书的各种版本的用意只在于为你多提供一些信息,让你多一种选择。

在本文成文的后期,我给Bjarne写了一封信,请教如果他来写这篇文章会怎么写。他给了我简明扼要的建议。在肯定以上列出的绝大部分图书都是世界顶尖水平的C++著作的同时,Bjarne提醒我别忘了向专家级程序员推荐《The

C++ Standard : Incorporating Technical Corrigendum No 1》

《The C++ Standard : Incorporating Technical Corrigendum No 1》

Bjarne还友好地提醒我,在我的推荐列表中没有哪一本有助于C++程序员进行Windows编程——这正是我的本意。在这篇文章中,我只推荐、点评平台中立的C++著作(网络编程除外)——和 *** 作系统无关,和集成开发环境无关,我甚至幻想它们和编译器也无关。你可以根据业务开发需要,选读自己喜爱的领域相关的C++书籍。

说到“系统无关、平台中立”,我不由得想起了“抽象层”的概念。开发实际应用的C++程序员通常工作于特定 *** 作系统、特定开发环境和特定业务领域之中,而对标准C++和C++标准库扎实而深刻的把握,无疑是你得以在不同的 *** 作系统、不同的开发环境以及不同的业务领域之间纵横驰骋的“抽象”本钱。

《代码之髓》([日] 西尾泰和)电子书网盘下载免费在线阅读

资源链接:

链接:> 提取码:jben

书名:代码之髓

作者:[日] 西尾泰和

译者:曾一鸣

豆瓣评分:81

出版社:人民邮电出版社

出版年份:2014-8

页数:236

内容简介:

本书作者从编程语言设计的角度出发,围绕语言中共通或特有的核心概念,通过语言演变过程中的纵向比较和在多门语言中的横向比较,清晰地呈现了程序设计语言中函数、类型、作用域、类、继承等核心知识。本书旨在帮助读者更好地理解各种

概念是因何而起,并在此基础上更好地判断为何使用、何时使用及怎样使用。同时,在阅读本书后,读者对今后不断出现的新概念的理解能力也将得到提升。

本书力求简明、通俗,注重可读性,可作为大学计算机科学和软件工程等专业程序设计语言概论教材、计算机等级考试的参考资料,也可作为软件开发人员的学习参考书。

作者简介:

西尾泰和(Nishio Hirokazu)

24岁取得理学博士学位。2007年起在Cybozu实验室从事提高知识生产力的软件开发工作。曾担任“2011年全日本安全与程序设计实战集训”程序设计语言组组长。特别关注编程语言的多样性及发展。著作有《Jython语言程序设计》 《程序员应该了解的程序设计基础知识》《WEB+DB PRESS》(第60期特辑)等。

您好!软件著作权申请流程如下:

一、网上填写申请表

中国版权保护中心是国家版权局认定的唯一的软件著作权登记机构,目前除北京地区设有软件著作权代办机构,其他各地都需要在中国版权保护中心进行软件著作权登记。

1、注册用户名(用于软件著作权登记申请表的填写、修改、打印),用户名和密码一定要保存一下,以备将来办理软件著作权登记时要修改信息时所用。

软件著作权登记申请表要填写的内容包括:

A, 软件全称、简称、版本号、开发完成日期、软件开发情况(独立开发、合作开发、委托开发、下达任务开发);

B, 原始取得权利情况、继受取得权利情况

C, 权利范围、软件用途

D, 技术特点(软件名称、用途、技术特点、开发的软硬件环境、编程语言及编程语言版本号、程序量、零售价格)

E, 软件著作权拥有状态、申请者详细情况、软件鉴别材料交存方式、申请者签章。

2、将填写完的软件著作权申请表打印

二、准备材料

1、软件源程序代码(A4纸打印,单面,1份)

前、后各连续30页,共60页。(不足60页全部提交)第60页为模块结束页,每页不少于50行(结果页除外),在每页的左侧留出装订线,右上角打印或标注页号1—60。

2、软件用户手册、 *** 作手册、设计说明书、使用说明书等任选一种

前、后各连续30页,共60页。(不足60页全部提交)第60页为文档结束页,每页不少于30行(结果页除外),在每页的左侧留出装订线,右上角打印或标注页号1—60。(若希望多交文档,每多交一种文档需增加文档费),要图文并茂,软件的每个功能基本上都要涉及到。

3、身份z明

A,著作权人为个人

应提交身份z复印件一份,如有工作单位,可以要单位出具非职务软件开发证明,也可以个人出具非职务软件开发保证书。(《非职务开发证明》《非职务开发保证书》在官网上可下载)

B,著作权人为单位

企业法人或事业法人的应提交有效的企业法人营业执照或事业单位法人证书副本复印件,并需加盖单位公章;社团法人单位提交民政部门出具的有效的社团法人证书的复印件;其他组织提交工商管理机关或民政部门出具的证明文件复印件;

4、委托办理文件

A,授权委托书

申请人委托代理人代为办理软件著作权登记申请的,应提交授权委托书。

B,受委托人身份z复印件

5、其他证明文件:

若申请者存在以下情况,需提交以下文件:

合作开发——合作开发合同书或合作开发协议书1份A4纸。

委托开发——委托开发协议书1份A4纸。

下达任务开发——任务书1份A4纸。

三、递交文件

将以上材料提交到中国版权保护中心,经审查无误后,受理员将在软件著作权申请书上盖章,然后到去缴费,拿到受理通知单。

四、领取软件著作权登记证书

按照规定,在取得受理通知单30个工作日可以到中国版权保护中心领取软件著作权登记证书。

如能进一步提出更加详细的信息,则可提供更为准确的法律意见。

经常看到大家询问怎么学习C/C++,unix编程等,也经常有人推荐相关的书籍,但是一直没有个系统的总结。希望这篇帖子能对有志于软件开发的网友有些帮助。

第一部分: C语言

第二部分: C++

第三部分: 算法

第四部分: unix编程

第五部分: *** 作系统

第六部分: 编程思想

第七部分: 软件工程

第八部分: 应用

分类是希望有偏重者能比较方向性的学习。

至于推荐的书籍,有几个原则:

1、公认,经典,教科书式的

2、每个条目给出完整的书名,作者,比较简洁的介绍

3、有下载地址就更好

-----------------------------------------------------------------------------------

书籍列表如下:

格式为:

编号 | 书名 | 作者 | 介绍 | 下载地址 | 推荐说明

第一部分: C语言

11 | << The C Programming Language>> | K&R | 介绍缺 | 下载地址缺 | 谢win_hate推荐

12 | <> | Peter Van Der Linden | 介绍缺 | 下载地址缺 | 谢win_hate推荐

13 | 《C程序设计》| 谭浩强 |

C 语言入门强烈推荐谭浩强的《C程序设计》,我看的是第二版,现在应该有新版本的,好像还提到了 C++。

谭浩强我觉得是很难得的计算机教育家,

一生写过很多书,都很不错,还有他的那本《BASIC 语言》,当年都创了记录了。

不过谭浩强写的书都是教课本式的,

适合习惯于循序渐进式学习的人。

有点象岳不群说的,不象风清扬说的。

想一晚上学会《独孤九剑》然后笑傲江湖的人就算了不用看了。

| 下载地址缺 | 谢flw推荐

第二部分: C++

21 | <> | Bjarne Stroustrup |

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

22 | <> | lippman |

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

| 下载地址缺 | 谢tutuzhang 推荐

23 | <> | meyer |同下

24 | <> | meyer |

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

25 | <> |作者缺|

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

|下载地址缺 | 谢lenovo推荐

26 | <> | Andrei Alexandrescu|

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

|下载地址缺 | 谢lenovo推荐

27 | <> | 作者缺 | 据说书中展示了模板的精华之处

|下载地址缺 | 谢lenovo推荐

28 | <> |

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

|下载地址缺 | 谢lenovo推荐

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

|下载地址缺 | 谢lenovo推荐

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

|下载地址缺 | 谢lenovo推荐

211 | <>| 我是觉得此书一般,并没有外面吹的那么好,可以说是中等偏上吧,要看就要看英文版的,中文版的千万别看,那个译者太不负责了 |下载地址缺 | 谢lenovo推荐

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

213 | <<16Accelerated C++>> | 也是koenig和Barbara夫妇写的,据说很好,但我没机会看,实在不敢评价。 |下载地址缺 | 谢lenovo推荐

214 | <>

|作者缺 | 作者是LCC的作者之一|下载地址缺 | 谢converse推荐

第三部分: 算法

31 | <> 3卷 | D E Knuth |

本书内容博大精深,作者因为三卷书获得美国计算机协会1974年图灵奖(该奖被国际公认为计算机科学领域的最高奖项)。

本书作者D E Knuth是在计算机学界十分著名的学者,在本领域享有很高权威和盛名,他的这部著作是无数计算机专业人员的学习教材和参考读物,也是许多专业研究工作者经常阅读的经典。本书已被翻译为几十种文字在世界各地出版,英文原版书在国外已经是第11次印刷。

该书1999年底被American Scientist列为20世纪最佳12部学术专著之一(与狄拉克的量子力学、爱因斯坦的相对论、曼德布罗特的分形论、鲍林的化学键、罗素和怀特海德的数学基础、冯诺意曼和摩根斯坦的博弈论、维纳的控制论、伍德沃和霍夫曼的轨道对称性、费曼的量子电动力学等科学史上的经典著作并列)。

|下载地址缺 | 专题说明见>

以上就是关于考c++程序员应看哪些书全部的内容,包括:考c++程序员应看哪些书、《代码之髓编程语言核心概念》epub下载在线阅读,求百度网盘云资源、我是一个程序员,那么拿到著作权怎么申请专利等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/10170198.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存