每日一书|《C++沉思录》:程序员进阶经典书

Posted 《新程序员》编辑部

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了每日一书|《C++沉思录》:程序员进阶经典书相关的知识,希望对你有一定的参考价值。

杜甫诗云:“读书破万卷,下笔如有神”。开发者多读书、读好书,能打好基础、掌握实践、答疑解惑、拓展视野。正基于此,2021年11月1日起,CSDN、《新程序员》推出“每日一书”栏目,为你推荐精选好书,助力你的开发工作如行云流水。

在C++编程方面的书籍中,《C++沉思录》是值得C++程序员进阶学习的经典书。

图书作者凯尼格曾在贝尔实验室与C++之父比雅尼·斯特劳斯特鲁普博士共同发展C++语言,这本《C++沉思录》汇聚了凯尼格多年来对C++语言深层次的分析和独到的见解。书籍内容由凯尼格在知名技术杂志发表的技术文章、世界各地发表的演讲以及斯坦福大学的课程讲义整理而成。

经典书的内容自然是值得畅读的,但今天异步君要和大家分享这本书创作背后的故事——关于作者本人的爱情故事。

— 01 —

进入贝尔实验室,结识C++创建者

与C语言一样,C++语言也是在贝尔实验室诞生。1979年,比雅尼·斯特劳斯特鲁普博士(Bjarne Stroustrup)在贝尔实验室工作。

在工作中,他发现Simula语言具备的特点使其很适用于大型软件开发,但运行速度太慢,无法在现实需求中发挥其功效;BCPL的运行速度虽快得多,但它过于低级的特性,使其并不适于大型软件的开发。

所以,他想找到一门语言,既便于开发大型软件开发,又能保持不错的运行速度。

最终,他选中了可移植、用途广、运行速度较快的C语言,他为C语言增加了一些类似Simula的特点,使得新语言逐渐能够满足需求现实中的开发需求,这门新语言刚开始被称作“C with Classes”。

而在这之后不久,本书的作者之一凯尼格(Andrew Koenig)在贝尔实验室的研究方向也转向了这门新语言,他和比雅尼·斯特劳斯特鲁普成为了同事,一起推进“C with Classes”的发展。

在1983年这一年,“C with Classes”正式改名为“C++”(++是C语言中的增值操作符)。这门新语言已经在C的基础上加入了许多新特性,其中包括虚函数、函数名和运算符重载、参考、常量、用户可控制的自由空间存储区控制、改良的类型检查,以及新的双斜线(//)单行注解风格。

同一年,芭芭拉·摩尔(Barbara E.Moo)也进入贝尔实验室,负责Fortran 77编译器的研究工作,这是当时第一个用C++语言编写的商业产品。她和凯尼格成为同事,并结识了“C++之父”比雅尼。这三人,一位是C++的创立者,两位是C++语言的研究者和推动者,他们相聚于贝尔实验室,在C++日后的不断演进中都做出了许多贡献。

 — 02 —

程序员中的神仙伉俪,参与完善C++

1988年,凯尼格组织召开了第一个完全意义上的C++会议。第二年,ISO/ANSI C++委员会成立,他加入了该委员会并一直担任项目编辑。此后,他不断发表C++方面的论文,应邀到世界各地演讲,不遗余力地做C++的研究和推广工作。

芭芭拉·摩尔,在贝尔实验室负责AT&T的C++编译器项目,直到贝尔实验室的软件开发业务最终被转让出去。

在贝尔实验室工作的这么多年,凯尼格和芭芭拉不仅是工作中的伙伴,更成为了生活上的知音。1998年6月22日,在相恋多年后,芭芭拉·摩尔和凯尼格在新泽西的莫里森镇喜结连理,“C++之父”比雅尼·斯特劳斯特鲁普也参加了他们的婚礼。

凯尼格和芭芭拉二人同为贝尔实验室工作,同样是研究C++语言,亲身参与了C++的演化和变革,对C++的变化和发展起到了重要作用。他们二人因为C++而相识、相知,并最终走向了婚姻的殿堂,他们二人不仅是C++研究领域的“第一神仙眷侣”,而且成为程序员群体里知名度甚高的“神仙伉俪”。 

 — 03 —

精选专栏文章,合著《C++沉思录》

这本《C++沉思录》,正是凯尼格在芭芭拉·摩尔的建议下,将他前后十几年在各大技术论坛上发表的100多篇专栏文章精选、编修,再加上自己多年的沉淀和思考,整理而成。

也正是因为脱胎于技术文章,所以这本书的可读性很高,而且知识密度也相当大,这也使得本书区别于其他技术类书籍。

尤为值得一提的是,在众多C++大师中,凯尼格的教学实践能力和文字能力历来备受好评,他发表的100多篇专栏文章,以其朴实而又精深的思想,准确而又权威的论述,高屋建瓴而又平易近人的表达方式,成为业界公认的正统“C++之声”。

比雅尼·斯特劳斯特鲁普在他的主页上就特别推荐人们去阅读这本书,ACCU的主席Francis Glassborow也在书评中慷慨地向读者推荐此书,说“ 我对这本书没什么更多可说的,因为每个C++程序员都应该去读这本书。如果你在阅读的过程中既没有感到快乐,又没学到什么东西,那你可真是罕见的人物”。

而著名C++专家ChuckAllison,在他自己的书C & C++ Code Capsules (本书中文版《C和C++代码精粹》)中,更是直截了当地说:“对我来说,这是我所有C+ +藏书中最好的一一本。

C++发展史上的两位重要人物夫唱妇随,一同出版著作,本身就足以引起整个C+ +社群的高度重视,而这本书不平凡的来历,和出版之后5年间所获得的极高赞誉,更加确立了它在C++技术书籍中的经典地位。

对于我们而言,阅读这本书的收获并不仅在于掌握了什么技术,而是在技巧背后告诉我们的思考方法,以及解决问题的步骤和方向。正所谓“授人以鱼不如授人以渔”,这正是本书的独特价值所在。

—END—

《C++沉思录》基于作者在知名技术杂志发表的技术文章、世界各地发表的演讲以及斯坦福大学的课程讲义整理、写作而成,融聚了作者10多年C++程序生涯的真知灼见。

《C++沉思录》分为6篇,共32章,分别对C++语言的历史和特点、类和继承、STL与泛型编程、库的设计等几大技术话题进行了详细而深入的讨论,细微之处几乎涵盖了C++所有的设计思想和技术细节。

本书通过精心挑选的实例,向读者传达先进的程序设计方法和理念。《C++沉思录》适合有一定经验的C++程序员阅读学习,可以帮助他们提升技术能力,成为C++程序设计的高手。

(声明:本文转载自人民邮电出版社IT专业图书旗舰品牌“异步图书”微信公众号。)

以上是关于每日一书|《C++沉思录》:程序员进阶经典书的主要内容,如果未能解决你的问题,请参考以下文章

经典书数据结构与算法C++,第二版,738页pdf

每日日报6

每日日报3

每日日报10

Python进阶书籍经典书有这样三本

每日一书|拳打MySQL基础,脚踢MySQL进阶