聆听C++语言创建者的教诲
Bjarne
Stroustrup
为
C++
初学者撰写的新作中译本(《
C++
程序设计原理与实践》
)近期终于面市了。这本书秉承
Bjarne
一贯朴素、稳重的写作风格(偶尔不失犀利的幽默),其内容远比常见的轻量级
C++
入门教程丰富、系统,是一部专为有志于成为职业
C++
程序员的初学者而写的大部头。
查看详情
这本书的基本素材来源于
Bjarne
(及其德州农工大学已逝同事
Lawrence
Peterson
)针对大学生的授课讲义,内容包括基本知识、输入
/
输出、数据结构与算法、延伸阅读以及附录等
5
个部分,各章具体构成不赘述,在此仅强调一个细节,嵌入式系统程序设计一章中所述的编码规范不仅仅对嵌入式程序设计有效,大多数条款同样适用于其他领域的
C++
编程,初学者理应熟记这些条款,从一开始就养成良好的编程风格,良好的编程风格将使你受益无穷。另外,该书配套网站很慷慨,免费提供了幻灯片、代码、习题答案及勘误等丰富的资源。
无论是从一名读者还是从一名译者的角度看,本书中文版的翻译都很好,但出版方删除附录的做法着实让人费解(虽然不怕麻烦的话可以到它们的网站下载电子版的附录)。印象中,这似乎是第一本被大幅删除原著内容的
C++
引进图书,而且这样的事偏偏还发生在了
C++
语言创建者的著作之上。虽然出版方这么做有它自己的理由,但无论是什么理由都让人难以原谅。这本书的写作方式(即实例驱动而非语言驱动)和定位决定了附录内容对于初学者而言是不可或缺的,理应唾手可得。
这本书难免被和
Stanley Lippman
的《
C++ Primer
》
对比,不仅仅是因为它们的厚度和定位,也因为两位作者的背景和影响力。其实两本书的风格差异非常明显。《
C++ Primer
》
是“语言特性驱动”写作方式的成功代表(其销量和口碑就是最好的证据),而本书则是实例(往往可以看成实用程序代码的简化版)、技术和思想并重。就像
Bjarne
的其他著作一样,其内容一向不仅仅局限于
C++
,书中遍布程序设计思想和方法的经验谈。这些正是真正的专家有别于普通作者之处。真正的专家见多识广,精通业务,实践经验丰富,对问题的认知独到、深刻,能够用最简单的语言将常人难以言明的问题表达清楚。阅读
Bjarne
的任何一本书你都会深刻地感受到这一点。
这本书会被中国的大学选为
C++
教材吗?可能性不大。首先它太厚了,内容太多了(虽然出版社故意删除了附录部分),不适
合一学期学时安排,其次,与普通大学教材相比,它的价格太高了。仅此两点就足以被大学教务部门否决。退一步而言,即便教务部门的官僚不干预,很多教师恐怕
也无选用它的动力,某些内容对于学生而言确实太难了,甚至对于一些编程经验欠缺的教师自身而言也不容易,何况不少教师已经习惯于讲授“古典
C++
”而非现代
C++
,做出改变需要付出大量的额外努力,哪来的动力呢?
劣质教材、糟糕的教学、浮躁的环境已经耽误了不在少数的初学者(他们中的一部分已经成为老资格程序员),所幸的是,至少在可以预见的未来二十年,
C++
的应用领域不会消亡,
C++
的发展不会止步,一拨老
C++
程序员退役了,一批又一批朝气蓬勃的新人踌躇满志地加入职业
C++
程序员的行列。即便这本书无法勾起既有
C++
程序员的阅读兴趣,对于
C++
新人而言,聆听
C++
语言创建者的教诲,无疑可以少走不少弯路。实际上,对于那些基本功不够扎实的老手而言,这也是一次接受
C++
再教育的良机。是的,不同层面的
C++
程序员都可以从阅读本书中受益,对此我深信不疑。
荣耀
南京师范大学中北学院
royal@.royaloo.com
荣耀
是一位
IT
培训师、撰稿人,通过咨询、培训、讲座、著译以及项目合作研究等,帮助企业用户、
IT
公司、科研院所、大学以及个人理解和应用企业级应用构建语言、工具、思想和方法。他目前任教于南京师范大学中北学院信息科学系。
在过去的十几年中,荣耀负责或参与了十几个企业级应用的研发和实施,技术领域涉及
C++
、
Delphi
、
.NET
、
Java
、
AJAX
、
Flex
、数据库、网络通讯等。他出版和发表了多部
IT
著译作品,包括《
C++
模板元编程》、《
C
和
C++
安全编程》、《
.NET
大局观》、《
C++
必知必会》、《
Imperfect C++
中文版》、《
Windows Forms
程序设计》以及《
C++ Templates
全览》等。

分享到:
相关推荐
《计算机科学丛书:C++语言导学》作者是C++语言的设计者和最初实现者,写作本书的目的是让有经验的程序员快速了解C++现代语言。书中几乎介绍了C++语言的全部核心功能和重要的标准库组件,以很短的篇幅将C++语言的...
《C++语言程序设计》是郑莉教授与董渊教授合作编著的一本经典教材,主要面向初学者和有一定编程基础的学习者,旨在系统地介绍C++编程语言的基础知识和高级特性。这本书的第五版是对第四版的更新和完善,旨在跟上C++...
主要介绍了在Visual Studio中用C++语言创建DLL动态链接库图文教程,本文详细讲解了DLL库的创建过程,并给出了代码示例,需要的朋友可以参考下
总之,《C++语言程序设计 第4版 学生用书》是一本全面覆盖C++语言的教材,涵盖了从基础到进阶的多个层次,适合初学者和有一定经验的程序员参考学习。通过深入研读和实践,读者能够熟练掌握C++语言,为未来在软件开发...
本书是C++语言设计师本人写的,描述了C++语言的发展历史、设计理念及技术细节的著作。阅读本书不仅可以了解有关C++语言的许多重要技术问题和细节,还可以进一步理解各种C++特征的设计出发点、设计过程中所考虑的...
《C++语言程序设计第五版》是郑莉教授编著的一本深入介绍C++编程的教材,适合初学者和有经验的程序员进一步提升C++技能。这本书的重点在于讲解C++的基础知识,高级特性以及如何有效地设计和实现程序。在描述中提到的...
《计算机科学丛书:C++语言导学》作者是C++语言的设计者和最初实现者,写作本书的目的是让有经验的程序员快速了解C++现代语言。书中几乎介绍了C++语言的全部核心功能和重要的标准库组件,以很短的篇幅将C++语言的...
《C++语言程序设计》是郑莉教授编著的一本经典教材,第四版更是结合了C++语言的最新发展和教学实践,为学习者提供了全面而深入的C++编程指导。该书源代码的完整提供,无疑为读者提供了实践与学习的宝贵资源。 在C++...
C++程序设计语言是计算机科学领域中一门至关重要的编程语言,尤其在系统软件、游戏开发、金融服务和高性能计算等领域有着广泛的应用。C++基于C语言发展而来,它引入了类、模板、异常处理等面向对象的特性,并进一步...
该xmind笔记是我在2020年准备东南大学复试期间写下的,内容是我在反复学习《C++语言程序设计(郑莉)》书籍,以及哔哩哔哩上的197集清华大学公开课的基础上,总结而成的,内容可说是非常详细了,最后一遍的时候,我...
《C++语言程序设计教程(二版)》是由沈显君和杨进才两位专家编著的,专门针对初学者和进阶者的一本经典教材。这本书深入浅出地介绍了C++这一强大的编程语言,涵盖了从基础语法到高级特性的全方位内容。在描述中提到...
《C++语言与面向对象程序设计(第五版)》是一本深入浅出的编程教材,专为初学者和有一定基础的程序员设计。本书详细介绍了C++语言的核心概念、语法以及面向对象编程的基本原理,旨在帮助读者掌握C++编程技能,并能...
本资料集以C++语言为载体,深入探讨了数据结构、算法以及它们在实际中的应用,并附带了代码实现和习题答案,帮助学习者深化理解并提高实践能力。 1. **数据结构**:数据结构是组织和管理数据的方式,包括数组、链表...
C++语言是在C语言的基础上由Bjarne Stroustrup博士引入并扩充面向对象概念发展起来的一种编程语言。它是在1982年由美国AT&T公司的贝尔实验室研发的,最初命名为"C with classes"。后来在1983年,Rick Mascitti建议...
以Visual C++ 6.0为上机练习环境,内容包括:C++语言程序的开发环境、C++语言实验题及指导、与《C++语言程序设计教程》一书配套的习题及习题分析解答、上机练习步骤。 本书的实验和开发示例都通过验证,习题...
C++语言是由贝尔实验室的Bjarne Stroustrup于1980年代初创建的,其初衷是扩展C语言,加入面向对象的特性。C++语言因其实用性和效率被广泛应用于软件开发、游戏编程、系统软件以及应用程序开发等众多领域。C++之所以...
《东南大学 C++ 郑莉 C++语言程序设计习题与实验指导》是一本针对C++初学者和进阶者的重要教材,由郑莉教授编写。这本书详细讲解了C++编程的基础概念、语法和实践应用,旨在帮助学生掌握C++编程技能,提升程序设计...