C++是一门广泛用于工业软件研发的大型语言。它自身的复杂性和解决现实问题的能力,使其极具学术研究价值和工业价值。和C语言一样,C++已经在许多重要的领域大获成功。
然而,一个不可否认的现实是,在低阶程序设计领域,C++挤压着C同时也在承受着C的强烈反弹,而在高阶程序设计领域,Java和C#正在不断蚕食着C+ +的地盘。也许C++与C合为一体永远都是一个梦想,也许Java和C#的狂潮终将迫使C++回归本位 — 回到它有着根本性优势的开发领域:低级系统程序设计、高级大规模高性能应用设计、嵌入式程序设计以及数值科学计算等。果真如此,我认为这未尝不是一件好事。
C++吸引如此之多的智力投入,以至于这个领域的优秀作品,包括重量级的软件产品、程序库以及书籍等,数不胜数。文题“C++程序设计之四书五经”一个不太严格的含义是:C++程序设计之四书 ⅹ 五经。是的,在本文(及其下篇)中,我将分门别类推荐20多本C++好书,你可以根据自己的需要选读。
TCPL和D&E
TCPL和D&E分别是《The C++ Programming Language》和《The Design and Evolution of C++》的简称,均出自Bjarne Stroustrup之手。我将它们单列出来,首先是因为Bjarne是C++语言的创建者,然后是因为比“首先”那个原因更重要的原因:这两本书是C+ +领域毋庸置疑的杰作。说它们是C++语言圣经,并不为过。
Bjarne Stroustrup, The C++ Programming Language (Special 3rd Edition)
《C++程序设计语言(特别版)》,机械工业出版社
《C++程序设计语言(特别版)(英文影印版)》,高等教育出版社
迄今为止,TCPL是除了C++标准文献之外最权威的C++参考手册。和大多数人的看法不大一样,我认为Bjarne的文字语言并不逊色于他所创建的程序语言,至少我喜欢这种学院气息浓厚的作品。本书对C++语言的描述轮廓鲜明、直截了当。它从C++语言创建者的角度来观察C++,这是任何别的作者和书籍做不到的 — 没有任何人比Bjarne自己更清楚该怎么来使用C++。
这是一本严肃的著作,以中、高级C++开发人员为目标读者。如果你是一名有经验的C++程序员,需要了解更加本质的C++知识,本书正是为你而写。它不是那种让你看了会不断窃喜的小书,需要用心体会,反复咀嚼。在阅读过程中,请特别留心Bjarne先生强调了什么,又对什么一语带过。我个人比较喜欢这本书的第四部分“使用C++做设计”,这样的内容在类似的程序设计语言书籍中很难看到 — 我甚至认为Bjarne应该将这部分独立出来单独写一本书。
Bjarne Stroustrup, The Design and Evolution of C++
《C++语言的设计和演化》,机械工业出版社
《C++语言的设计和演化(英文版)》,机械工业出版社
D&E是一本关于C++语言设计原理、设计决策和设计哲学的专著。它清晰地回答了C++为什么会成为今天这个样子而没有变成另外一种语言。作为C ++语言的创建者,Bjarne淋漓尽致地展示了他独到而深刻的见解。除了广受赞誉的语言特性外,Bjarne没有回避那些引起争议的甚至被拒绝的C++ 特性,他一一给出了逻辑严密、令人信服的解释。内容涵盖C++的史前时代、带类的C、C++的设计规则、标准化、库、内存管理、多重继承、模板等,对包括异常机制、运行时类型信息和名字空间在内的重要的新特性都分别进行了深入探讨。每一名C++程序员都应该可以从Bjarne的阐释中加深对手中这门语言的认识。
需要再次提醒的是,这两本书知识浓缩,信息量极大,请不要错过Bjarne每一句看似漫不经意的话。
阅读(4100) | 评论(1) | 转发(0) |