C++语言的设计和演化

当前位置:首页 > 计算机网络 > 研究生/本科/专科教材 > C++语言的设计和演化

出版社:机械工业出版社
出版日期:2002-1
ISBN:9787111090984
作者:[美] Bjarne Stroustrup
页数:370页

书籍目录

出版者的话
专家指导委员会
译者序
前言
致读者
第一部分
第1章 C++的史前时代
第2章 带类的C
第3章 C++的诞生
第4章 C++语言设计规则
第5章 1985―1993年表
第二部分
第10章 存储管理
第11章 重载
第12章 多重继承
第13章 类概念的精炼
第14章 强制
参考文献
索引

作者简介

这本书是C++的设计者关于C++语言的最主要著作之一。作者综合性地论述了C++的历史和发展,C++中各种重要机制的本质意义和设计背景,这些机制的基本用途和使用方法,讨论了C++所适合的应用领域及其未来的发展前景。

图书封面


 C++语言的设计和演化下载 精选章节试读 更多精彩书评



发布书评

 
 


精彩书评 (总计4条)

  •     很多地方翻译得很雷人,不过可以看得出裘老是看懂原文了,只是翻译技巧相对生涩一些,只要知道一些计算机特定术语的中英文区别,还是不影响阅读的。
  •     C++ 是一门很难掌握的语言,C++ 的好书也很多。但是无论哪一本都不能取代这本的重要性。因为,了解 C++ 的设计哲学,比了解 C++ 的语言特性更为重要。而阐述其设计哲学,没有比 C++ 的发明者更合适的人选了。这本书翻译的很好,我指的很好是说翻译的人真正懂了 C++ , 并用心去翻译了。看翻译的书,咬文嚼字是没有意义的;所以一些语言措辞的方式和译词的选用合不合意都是次要的。
  •     C++的最大包袱是和C兼容的那一块,而这一块,同时也是它的最大优势。BS这么说的,很多人也都这么说的。然而我觉得,以现在的观点看,C++的这个包袱,已经严重制约了它的发展。它使得C++无法摆脱预编译的这个累赘。C++0X的表达能力和便利性最多不超过D语言,但是学习的复杂度、编译器的复杂度、编译速度的牺牲……如果D语言有足够多的支持库,我想肯定会超过C++

精彩短评 (总计78条)

  •     想学好C++的话,这本书还是一定要看滴
  •     凡是喜爱C++之人都应当读一下,会对目前的设计原因有一些了解,对C++的文化有很好的认知
  •     了解C++设计历史,不错,推荐
  •     听老大讲那过去的故事
  •     有助于更好地理解C++语言
  •     当时觉得非常赞
  •     这是Bs自己写的一本书,之前team leader 说这本书很简单,就和看历史书一样。结果我看了一遍收获不大,感觉里面讲的东西还是挺难的。
  •     C++十万个为什么
  •     懂了好多坑....vczh说的好..C++他爹解释为什么C++不得不这么鸟..
  •     介绍C++的演化
  •     书是好书,但是由于作者风格的原因。非常枯燥。。
  •     这本书是C++之父的著作,不管什么理由都值得拥有
  •     C++的设计者Bjarne从C++的演化、各种重要机制的本质意义和设计背景,对这门语言展开了深刻的论述。这本书展现的更多的是设计上的哲学意义,悔不该把它当做一本C++的入门读物,各种不理解。不过这至少是钻研C++的一个提纲吧!
  •     C++为啥是目前这个样子?
  •     拿着云风的《游戏之旅——我的编程感悟》,看到第136页,顺手来搜一下作者提到的这本书,没想到竟然看到此贴!世界真是小啊~
  •     c++之所以有今天的江湖地位不光是设计上的全面和精妙,还伴随着这种上升到编程哲学的书籍。或许如果Gosling也多给Java写点这方面书籍,Java的江湖地位也会提高点吧。
  •     了解c++怎么用,此书会告诉你更多为什么c++会这样,需要这样用
  •     了解C++的历史
  •     to fatalerror99:C#其实是一个平台。。。下面是.net。。
    话说C++的特性也很多,恐怖的是陷阱也那么多。
  •     阐述C++从无到有的演化历史和设计哲学,对深入了解C++很有帮助。 理解了 Bjarne Stroustrup ,也就理解了C++。
  •     这语言风格完全是枪炮与玫瑰啊!然而真得好,在知道怎么做之前最重要的还是知道为什么这么做,以及做什么。看完再补上更详细的...
  •     当我们再去掀起语言战争时,先要看自己有没有资格。因为Bjarne Stroustrup都觉得自己没有资格去贬损某种程序语言,你呢?
  •     看了你的“那些日子”中的引用,过来记录一下,有空一定买来看看。
  •     随着理解实践深入这本还是会继续再看遍的,已加入2015购书单中
  •     内容翻译的还行经典读物值得一看
  •       书是好书,但翻译得一般,很一般。举个例子,有木有人能告诉我书中第32页,”我们的目标是始终一贯的和明确的,那就是希望开发出使用C++的各个方面的局部性的专业经验“,这句话是什么意思?
      另外,这本书是有索引的,但是有木有人能告诉我,为什么索引木有页码?木有页码的索引,是神马东西?索引木有页码,木有页码,木有页码。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
  •     相当不错啊.. 这不是一本讲C++的,BS大师在书中讲的是思想.
  •     翻译烂
  •     聚沙成塔
  •     这就是那种适合放在枕头边一读再读的书。轻松又和谐,又不水。
  •     关注此书的人太少了
  •     如内联机制翻译为了在线机制,其他还有很多。
  •     有读过,没读完,现在想想还是读完它吧
  •     编程语言的设计,有的特征是艺术性或者说是作者性格的外化,另外一些特征是结合其应用当下的硬件背景,软件风格和重度应用的特性来抽象设计的。挺好的一本书,可惜翻译的比较糟糕。
  •     直接给我发货了。这么做感觉很差。要是收我2块钱送货费,我就拒收了。
  •     03年的时候 读了几个章节,不评论
  •     这本书更多的解决why的问题,很有启发。但是同样也展现了C++的纠结与复杂性。
  •     看过一部分英文原版,期待这个版本的内容。
  •     翻译的很生涩。。。。。
  •     2007-4-18 14:24:24还书
  •     经典教材,成为C++大牛必须要读的书籍之一。
  •     如果C++只有一本书可读,那一定就是这一本。
  •       C++适合构造程序中需求较稳定的部分,需求变化较大的部分可使用脚本语言;
      程序须尽量发挥硬件的最高性能,且性能瓶颈在于CPU和内存;
      程序须频繁地与操作系统或硬件沟通;
      程序必须使用C++框架/库,如大部分游戏引擎(如Unreal/Source)及中间件(如Havok/FMOD),虽然有些C++库提供其他语言的绑定,但通常原生的API性能最好、最新;
      项目中某个目标平台只提供C++编译器的支持。
      
  •       C++ 是一门很难掌握的语言,C++ 的好书也很多。但是无论哪一本都不能取代这本的重要性。
      
      因为,了解 C++ 的设计哲学,比了解 C++ 的语言特性更为重要。而阐述其设计哲学,没有比 C++ 的发明者更合适的人选了。
      
      这本书翻译的很好,我指的很好是说翻译的人真正懂了 C++ , 并用心去翻译了。看翻译的书,咬文嚼字是没有意义的;所以一些语言措辞的方式和译词的选用合不合意都是次要的。
  •     了解C++的设计思想,以及为什么演化成了现在这般模样。翻译用的术语很奇怪,有些要猜才知道对应的是什么
  •     抱着演义的心理去看可能会失望了
  •     从C到C++(它是simula中的类和BCPL快,可移植性),注重不同语言结构之间的关系。从语言构造者的眼里看一门语言,很重要
  •     草草的读了一遍,有一使用经历后再读会更有感触。
  •     C++前世今生。C++作者将在哲学的认识运用到了C++中,才有了今天这个茁壮的C++,浪潮中C++一直在进步,令人感慨!反观Java,至今lambda,类型自动推定还在路上,作为一个没有公司主导的语言,C++仍将是未来最重要的语言。
  •     前两个月刚刚读完这本书,受益匪浅。
    最近在忙活 .NET 的项目,翻看《CLR via C#》,感觉,好像 C# 就犯了那种拼命增加特性的毛病,成为一堆特性集合的语言,像一盘散沙,而不是一个语言。这是作者一直竭力避免的,C++ 在这一点上做得很成功。
  •       差点错过这本书。英文版借来很久一直没看,因为中文版出现才有幸阅读。对于语言的使用者来说,有这样一本书真是巨大的福利。作者详细讲述了语言诞生的背景,以及发展过程中遇到和解决的各种问题。C++的复杂语言特性一直让人诟病,我之前也对其抱怨甚多。通过本书,一是了解到了各种特性引入的目的,另外也更深入了解到了C和C++的关系。
      作者早在初期就对C++(那时候还是C with Class)就有了明确的定位,比较重要的几点有:兼容C,支持面向对象,由实际问题驱动,必须现在就是有用的,是一种语言而非完整系统,不试图强迫人做什么,信任程序员。
      由于兼容C,使得C++能够发展到如今的规模,也使得C++被C的缺点所困扰。比如C的弱类型,隐式转换,全局命名空间,编译预处理等。C++的复杂性有相当大的部分来自于此。
      对于解决实际问题的关注,使得C++缺乏一些热门的学术特征。
      总的来看,C++更趋向于一种从实际问题出发的语言,而非从学术出发的语言。后者通常能具有良好的形式化和优雅的语义。
      但是对于“不试图强迫人做什么,信任程序员”这两条,我个人是不赞同的。本质上还是因为“人不如机器可靠”。人总会犯错,尤其面对复杂的问题。需要尽可能限制程序员。
      可以看到,作者在静态类型检查上做了大量工作。从这一点,也可以深刻理解到编译预处理的问题,不检查函数参数类型的危害,强制转换的危害。
      在对象对象上面,多重继承可能算是C++在解决该问题上的一个败笔。作者也提到了mixin,不知道为何没有采用。
      模板、异常是作者非常重视的两个特性,而且很早就提出来了。这两个特性对语言的帮助非常大。名称空间也是一个具有重要现实意义的特性。
      除了对语言特性的细致阐述,作者在方法论方面也给了大量的经验和总结。对于语言发展的非技术问题也有贯穿在全书中。
      对我而言,C++有两本必读书。一本是C++程序设计语言,另一本就是本书。前者作为语言参考书,后者用于加深对语言的理解。
  •     不喜欢Bjarne的写书风格,细节写的太琐碎。不过书是好书,至少明白了C++现在的种种缺陷的缘由。
  •     good comment.
  •       很详细 几乎是 丙加加的生成史 所有权衡 所有妥协 他想到了所有我想到的 也想到所有我没想到的 回想过往无端的质疑 我无话可说 值得再看一遍 绝对精读
      用手机发的 怎么总说短呢 还有什么好说呢 读过才会懂
  •     我的神啊,我就说照片上这人怎么这么面熟,猛的一看原来居然是云风...
  •     2014-11-10
  •     感觉还好,看看还是有必要的
  •     我给本书的英文版打5分,中文版我只能给3分,翻译的太差了,我都不想评论了,大家明鉴吧。
  •     界面-接口(interface)、在线-内联(inline)、建构-构建(constructor)、
  •     值得推荐 原版更好
  •     update: 翻译实在是烂,烂到个别地方需要翻山越岭翻回英语才能理解。 书是好书,翻译的不怎么样。内联(inline)函数翻译为在线函数,还离线呢!
  •     这是BS大叔最言简意赅的作品吧
  •       C++的最大包袱是和C兼容的那一块,而这一块,同时也是它的最大优势。BS这么说的,很多人也都这么说的。
      然而我觉得,以现在的观点看,C++的这个包袱,已经严重制约了它的发展。它使得C++无法摆脱预编译的这个累赘。
      C++0X的表达能力和便利性最多不超过D语言,但是学习的复杂度、编译器的复杂度、编译速度的牺牲……
      如果D语言有足够多的支持库,我想肯定会超过C++
  •     "本书翻译的很好,我指的很好是说翻译的人真正懂了 C++ , 并用心去翻译了。看翻译的书,咬文嚼字是没有意义的;所以一些语言措辞的方式和译词的选用合不合意都是次要的。“
    很有道理~
  •       C++的历史很长了,长到能够写一本书了。这本书配合着《Masterminds of Programming》看效果会更好。
      
      语言也不是一成不变的。不同的时代,即使在同一领域也总会出现不同的挑战。C的确是C++的包袱。看看现在的C++代码,再看看这本书里作为例子的C++代码,是不是又大不相同?94年的C++和现在的C++似乎也是不同的语言了。
      
      这本书的另一个价值在于Stroustrup在书中说了许多设计哲学方面的东西。如果你只知道Stroustrup在设计C++的时候是一个工程师和程序员,那你肯定会错过很多东西。他的想法不仅仅来自于技术,也来自于历史和生活。
      
      贝尔实验室是一个神奇的地方,而C++就是它创造的众多奇迹之一。C++的诞生显然经过了无数次的修改和反复,这种严谨的态度仍然是现代程序员需要学习和具备的。
  •     不算编程书,但很有价值
  •     裘老,翻译的是大作啊。。
  •     应该要出新版了吧?!
  •     沉重的历史包袱
  •     讲历史的
  •     C++的经典之作吧,同学推荐的,还没有读过,希望读完C++编程思想之后开始阅读这本书 ----------------------------------------------------------------------------------------------- 在图书馆借了这本书,反了几十页,然后没有兴趣了就放下了,将代码的不太多,所以没有动力读下去了,就放下了 忘记曾经从哪看过一句话,如果读一本书,实在读不下去,或者不太理解,就暂时放放,可能是你的知识积累不够,过一段时间再来看,或许就可以理解了,虽然不知道有没有道理,但是如果读书读的很难受,我还是不喜欢的。 希望过一段时间再来拾起它吧。
  •     Stroustrup亲自讲述设计实现C++时的各种思考和权衡,more than c++,当中的思想具备普适性,能帮助读者更深刻地理解先进主流的编程语言
  •       终于在深夜的时候看完,合上书本,就觉得被 C++ 之父 Bjarne Stroustrup 感动了。看吧,从 C++ 的诞生,其设计与演化的时间线(第 1 部分),经历的每一个重大改进(第 2 部分),都清清楚楚地展现了出来。难能可贵的是,在期间那些伟大的专家们的精妙思想,热烈的讨论都很清晰地还原了出来。当然,更多的是 BS 本人的许多想法。这些的想法的高明自不用说。从书中还可以看出 C++ 之父的细致严谨负责的做事态度。
      
      不过也还觉得累。不管怎么说吧,自己写的 C++ 代码还没超过 1 W 行。对 C++ 的了解还流于表面。自然在看本书时,作者讨论分析哪些特性应该采取哪些应该摒弃,看着吃力。整个书本的语境,都不是面向程序员的,而是参与 C++ 的设计的那些专家们。如上文所说,书里展现的就是他们的思想。而程序员,只是“客户”。这样一来,看懂本书,对 C++ 了解并不是最重要的。需要了解一些一般性的程序设计语言的知识,比如计算机体系结构,编译系统等。
      
      看本书的意义。直观来说,对编程没有太多帮助的。对于编程技术来说,语言只是其中一部分,而且在我看来并不是最重要的一部分。但是,对加深对 C++ 的理解很有帮助。想要使用 C++ 构建大的、同时高效的系统,对语言本身的深入理解是先决条件。另一方面,书中提到了很多语言设计的思想、哲学。这些,相信在学习其他编程语言的时候也是有帮助的。
      
      日后一定还要再看一遍的。
      
      2013-07-20-杰良
      
  •       很多地方翻译得很雷人,不过可以看得出裘老是看懂原文了,只是翻译技巧相对生涩一些,只要知道一些计算机特定术语的中英文区别,还是不影响阅读的。
      
  •     翻译有点晦涩啊
  •     一切都有原因,C++在设计上的种种不尽人意的地方,在这里明明白的的展示出来。
  •     了解C++的设计过程、每一步的取舍/权衡、它是怎样演化成现在这个样子的
  •     《 The Design and Evolution of C++ 》解释了 C++ 为什么是一个怪胎,但是它还是一个怪胎。
 

外国儿童文学,篆刻,百科,生物科学,科普,初中通用,育儿亲子,美容护肤PDF图书下载,。 零度图书网 

零度图书网 @ 2024