聆听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++语言创建者的教诲相关推荐

  1. Go 语言创建者,大佬们的有趣的对话访谈

    卡门(Carmen)和乔恩(Jon)与罗​​布·派克(Rob Pike)和罗伯特·格里塞梅尔(Robert Griesemer)(Go的创造者)讨论了它的起源,增长,影响力和未来.这是一部史诗般的剧集 ...

  2. 2022编程语言排名, 后端开发语言选型

    文章目录 1 2022 编程语言排名 1.1 IEEE Spectrum 2021年度 1.2 TIOBE指数 2022.05 2 后端开发语言选型 2.1 特点概览 2.2 「PHP 是世界上最好的 ...

  3. IBM推出创建语言运行时的工具包Eclipse OMR

    IBM创建了Eclipse OMR,一个用于为任何语言创建运行时环境的开源虚拟机工具包.OMR旨在让各种语言都能利用虚拟机技术的一般改进,像垃圾收集或硬件集成.为此,IBM正在推广自己名为J9的JVM ...

  4. scratch双语教师课件文档手册 1.初识scratch

    第一节文档讲义 第一项:自我介绍 说明: 首次见面先与学生建立良好影响极为重要,在上课之前要想好自己的花名,要简单好玩,不要像张老师,李老师那样那么死板,要融入学生年龄,编程课最主要是培养学生兴趣,扩 ...

  5. 送给计算机老师的话,送给老师的话(精选60句)

    送给老师的话(精选60句) 无论是在学校还是在社会中,大家最不陌生的就是句子了吧,句子是能够表达一个相对完整的意思,有一定的语调,表示不同的语气,句未有一个较大停顿的语言单位.还在苦苦寻找优秀经典的句 ...

  6. 在职读研是一条困难但正确的路——中国人民大学与加拿大女王大学金融硕士

    在职读研难吗?边工作边读研确实很累,要平衡好学习与工作的时间,还要抽出时间照顾家庭.在中国人民大学与加拿大女王大学金融硕士项目就读的同学曾说,在职读研是一个非常艰难的决定,需要很多的勇气,但回过头来看 ...

  7. 如何在一个表达式中合并两个字典?

    我有两个Python字典,我想编写一个返回合并的这两个字典的表达式. 如果update()方法返回其结果而不是就地修改dict,则将是我需要的方法. >>> x = {'a': 1, ...

  8. Scala入门到精通——第二十九节 Scala数据库编程

    本节主要内容 Scala Mavenproject的创建 Scala JDBC方式訪问MySQL Slick简单介绍 Slick数据库编程实战 SQL与Slick相互转换 本课程在多数内容是在官方教程 ...

  9. 暴走英雄坛html5游戏在线玩,暴走英雄坛h5

    暴走英雄坛h5是西西手游为大家带来的一款暴走英雄坛游戏的html5手机页游,暴走英雄坛h5这款游戏完美地还原了该手游作品的经典玩法内容,游戏内将传统武侠游戏的玩法做得相当细致,独特的手绘式武侠风画面, ...

最新文章

  1. RDKit | 基于分子形状的比对
  2. 斐波那契 非递归写法 非递归实现
  3. 无法显示 xml 页 解决方案
  4. 工作流与Petri net的关系
  5. [转]想要成为一名优秀的Java程序员,这份文档必读
  6. leetcode744. 寻找比目标字母大的最小字母(二分查找)
  7. 牛客21783 牛牛的星际旅行
  8. 配置linux登录超时命令,LINUX中 设置登录超时
  9. bash 后台程序_如何向您的Bash程序添加帮助工具
  10. 四川电信在广元市建大数据中心
  11. linux中的numa和swap
  12. 南方科技大学计算机系师资,于仕琪 - 教师个人主页 - 南方科技大学
  13. Ubuntu安装酷的桌面监控陈程序Conky
  14. 手把手教你用python实现一个简单用户管理系统
  15. it培训机构包就业是啥套路?it培训骗局,it培训班学出来有用吗?
  16. 思科模拟器CiscoPacketTracer下载
  17. 移动脑电在神经发展障碍研究中的运用
  18. 调用微信方法报错errMsg:chooseImage:fail, the permission value is offline verifying
  19. java在线校验银行卡号_校验银行卡卡号
  20. 综述(十六)北京智慧城市发展规划的政策分析

热门文章

  1. 计算机专业专科可以进的国企,专科毕业想要进国企?这四大专业是首选,成功率高达50%...
  2. 3dmax快速实现一个逼真地毯效果
  3. Windows 10 Insider Preview 预览版本19603发布
  4. 如何使用计算机网络打印机,如何在电脑上安装网络打印机?详细教程全部教给你!...
  5. 安卓开发笔记——APP闪退解决方案
  6. mysql8.0.13解压版安装密码设置_mysql8.0.13解压版安装配置方法图文教程
  7. 水瓶座的女人,生活中不只需要代码(转帖)
  8. 年度十佳电商网站设计赏析
  9. 【解决方案】智慧体育场馆大场景安防视频监控,可持续性保障大型场馆安全运行
  10. Flash游戏教程:控制物体运动三法