《C++语言的设计与演化》书评

当前位置:首页 > 计算机网络 > 程序设计 > C++语言的设计与演化

出版社:科学出版社
出版日期:2012-3
ISBN:9787030333469
作者:斯特劳斯特鲁普
页数:400页

推荐看英文原版

书是好书,但翻译得一般,很一般。举个例子,有木有人能告诉我书中第32页,”我们的目标是始终一贯的和明确的,那就是希望开发出使用C++的各个方面的局部性的专业经验“,这句话是什么意思?另外,这本书是有索引的,但是有木有人能告诉我,为什么索引木有页码?木有页码的索引,是神马东西?索引木有页码,木有页码,木有页码。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

不管怎么说吧,看完就被感动了

终于在深夜的时候看完,合上书本,就觉得被 C++ 之父 Bjarne Stroustrup 感动了。看吧,从 C++ 的诞生,其设计与演化的时间线(第 1 部分),经历的每一个重大改进(第 2 部分),都清清楚楚地展现了出来。难能可贵的是,在期间那些伟大的专家们的精妙思想,热烈的讨论都很清晰地还原了出来。当然,更多的是 BS 本人的许多想法。这些的想法的高明自不用说。从书中还可以看出 C++ 之父的细致严谨负责的做事态度。不过也还觉得累。不管怎么说吧,自己写的 C++ 代码还没超过 1 W 行。对 C++ 的了解还流于表面。自然在看本书时,作者讨论分析哪些特性应该采取哪些应该摒弃,看着吃力。整个书本的语境,都不是面向程序员的,而是参与 C++ 的设计的那些专家们。如上文所说,书里展现的就是他们的思想。而程序员,只是“客户”。这样一来,看懂本书,对 C++ 了解并不是最重要的。需要了解一些一般性的程序设计语言的知识,比如计算机体系结构,编译系统等。看本书的意义。直观来说,对编程没有太多帮助的。对于编程技术来说,语言只是其中一部分,而且在我看来并不是最重要的一部分。但是,对加深对 C++ 的理解很有帮助。想要使用 C++ 构建大的、同时高效的系统,对语言本身的深入理解是先决条件。另一方面,书中提到了很多语言设计的思想、哲学。这些,相信在学习其他编程语言的时候也是有帮助的。日后一定还要再看一遍的。2013-07-20-杰良

C++语言的设计与演化

差点错过这本书。英文版借来很久一直没看,因为中文版出现才有幸阅读。对于语言的使用者来说,有这样一本书真是巨大的福利。作者详细讲述了语言诞生的背景,以及发展过程中遇到和解决的各种问题。C++的复杂语言特性一直让人诟病,我之前也对其抱怨甚多。通过本书,一是了解到了各种特性引入的目的,另外也更深入了解到了C和C++的关系。作者早在初期就对C++(那时候还是C with Class)就有了明确的定位,比较重要的几点有:兼容C,支持面向对象,由实际问题驱动,必须现在就是有用的,是一种语言而非完整系统,不试图强迫人做什么,信任程序员。由于兼容C,使得C++能够发展到如今的规模,也使得C++被C的缺点所困扰。比如C的弱类型,隐式转换,全局命名空间,编译预处理等。C++的复杂性有相当大的部分来自于此。对于解决实际问题的关注,使得C++缺乏一些热门的学术特征。总的来看,C++更趋向于一种从实际问题出发的语言,而非从学术出发的语言。后者通常能具有良好的形式化和优雅的语义。但是对于“不试图强迫人做什么,信任程序员”这两条,我个人是不赞同的。本质上还是因为“人不如机器可靠”。人总会犯错,尤其面对复杂的问题。需要尽可能限制程序员。可以看到,作者在静态类型检查上做了大量工作。从这一点,也可以深刻理解到编译预处理的问题,不检查函数参数类型的危害,强制转换的危害。在对象对象上面,多重继承可能算是C++在解决该问题上的一个败笔。作者也提到了mixin,不知道为何没有采用。模板、异常是作者非常重视的两个特性,而且很早就提出来了。这两个特性对语言的帮助非常大。名称空间也是一个具有重要现实意义的特性。除了对语言特性的细致阐述,作者在方法论方面也给了大量的经验和总结。对于语言发展的非技术问题也有贯穿在全书中。对我而言,C++有两本必读书。一本是C++程序设计语言,另一本就是本书。前者作为语言参考书,后者用于加深对语言的理解。


 C++语言的设计与演化下载


 

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

零度图书网 @ 2024