满汉全席之外

Stanley B. Lippman 所著的C++ Primer 雄踞书坛历久不衰,堪称C++最佳教科书。但是走过十个年头之后,继1237 页的C++ Primer 第3 版,Lippman 又返璞归真地写了这本276 页的Essential C++。有了满汉全席,为何还眷顾清粥小菜?完成了伟大的巨著,何必回头再写这么一本轻薄短小的初学者用书呢?

所有知道Lippman 和C++ Primer 的人,脸上都浮现相同的问号。

轻薄短小并不是判断适合初学与否的依据。Lippman 写过Inside the C++ Object Model,280 页小开本,崩掉多少C++老手的牙。本书之所以号称适合初学者,不在于轻薄短小,在于素材选择与组织安排。

关于Lippman 重作冯妇的故事,他自己在前言中有详细的介绍。他的转折,他的选择,他的职责,乃至于这本书的纲要和组织,前言中都有详细的交待。这方面我不必再置一词。

身为C++ Primer, 3rd Edition 的译者,以及多本进阶书籍的作者,我必须努力说服自己,才能心甘情愿地将精力与时间用来重复过去的足迹。然而,如果连Lippman 都愿意为初学者再铺一条红地毯,我也愿意为初学者停留一下我的脚步。

我是一名信息教育者,写译书籍,培训人员,在大学开课……。我真正第一线面对大量学习者。借此机会我要表达的是,所谓“初学者”实在是个过于笼统的名词与分类(呃,谈得上分类吗)。一般所谓“初学者”,多半想象是大一新生程度。其实C++语言存在各种“初学者”,有13 岁的,有31 岁的(当然也有41 岁的)。只要是第一次接触这个语言,就是这个语言的初学者,他可能才初次接触计算机,可能浸淫Pascal/C 语言十年之久,也可能已有Smalltalk/Java 三年经验。有人连计算机基本概念都没有,有人已经是经验丰富的软件工程师。这些人面对C++,学习速度、教材需求、各人领悟,相同吗?

大不同矣!

每个人都以自己的方式来诠释“初学者”这个字眼,并不经意地反映出自己的足迹。初学者有很多很多种,“初学者”一词却无法反映他们的真实状态。

固然,轻薄短小的书籍乍见之下让所有读者心情轻松,但如果舍弃太多应该深入的地方不谈,也难免令人行止失据,进退两难。这本小书可以是你的起点,但绝不能够是你的终站。

作为一本优秀教科书,轻薄短小不是重点,素材选择与组织安排,表达的精准与阅读的顺畅,才是重点。

作为一个好的学习者,背景不是重点,重要的是,你是否具备正确的学习态度。起步固然可从轻松小品开始,但如果碰上大部头巨著就退避三舍逃之夭夭,面对任何技术只求快餐速成,学编程语言却从来不编写程序,那就绝对没有成为高手乃至专家的一天。

有些人的学习,自练一身铜筋铁骨,可以在热带丛林中披荆斩棘,在莽莽草原中追奔逐北。有些人的学习,既未习惯大部头书,也未习惯严谨格调,更未习惯自修勤学,是温室里的一朵花,没有自立自强的本钱。

章节的安排,篇幅的份量,索引的保留,习题加解答,以及网上的服务,都使这本小书成为自修妙品、C++专业课程的适当教材。诚挚希望《Essential C++中文版》的完成,帮助更多人获得C++的学习乐趣——噢,是的,OOP(面向对象编程)可以带给你很多乐趣,我不骗你 。

侯捷

2012/09/22

本文节选自《Essential C++中文版》一书

[美] Stanley B.Lippman 著
侯捷 译

电子工业出版社出版

Essential C++中文版——满汉全席之外的更多相关文章

  1. Essential C++中文版 前言

    天啊,这本书竟是如此轻薄短小.我真想大叫一声“哇欧”!C++ Primer 加上索引.扉页.谢词之后,厚达1237 页,而此书却只有薄薄276 页.套句拳击术语,这是一部“轻量级”作品. 每个人都会好 ...

  2. C++程序设计之四书五经[转自2004程序员杂志]--上篇

    C++程序设计之四书五经 作者:荣耀 C++是一门广泛用于工业软件研发的大型语言.它自身的复杂性和解决现实问题的能力,使其极具学术研究价值和工业价值.和C语言一样,C++已经在许多重要的领域大获成功. ...

  3. windows类书的学习心得(转载)

    原文网址:http://www.blogjava.net/sound/archive/2008/08/21/40499.html 现在的计算机图书发展的可真快,很久没去书店,昨日去了一下,真是感叹万千 ...

  4. 【repost】如何学好编程 (精挑细选编程教程,帮助现在在校学生学好编程,让你门找到编程的方向)四个方法总有一个学好编程的方法适合你

    方法(一)编了这么久的程序,一直想找机会总结下其中的心得和方法,但回想我这段编程道路,又很难说清楚,如果按照我走过的所有路来说,显然是不可能的!当我看完了云风的<游戏之旅--编程感悟>和梁 ...

  5. windows类书的学习心得

    原文网址:http://www.blogjava.net/sound/archive/2008/08/21/40499.html 现在的计算机图书发展的可真快,很久没去书店,昨日去了一下,真是感叹万千 ...

  6. C/C++编程语言学习资料尽收眼底 电子书+视频教程

    Visual C++(VC/MFC)学习电子书及开发工具下载请看这里 史无前例的网络最全最强C/C++资料索引: C/C++编程语言学习资料尽收眼底 电子书+视频教程 VC++/MFC(VC6)开发技 ...

  7. 如何学习C++[转]

    关于学C++, 我向你推荐一些书(当然能够结合课内项目实践更好) 1.The C++ Programming Language(Bjarne Stroustrup)2. Inside The C++ ...

  8. 各种计算机语言的经典书籍(C/C++/Java/C#/VC/VB等)

    1.Java Java编程语言(第三版)-Java四大名著--James Gosling(Java之父) Java编程思想(第2版)--Java四大名著--Bruce Eckel Java编程思想(第 ...

  9. c++游戏编程书籍

    如果要自学游戏程序开发的话,可以看看下面的,呵呵. 游戏开发资料(PDF书都是中文版的,非英文,很多是本人自己扫描制作,从未网上发布过,所以独家啦):  1.Gamebryo 2.2游戏引擎(盛大.腾 ...

随机推荐

  1. 灭顶之灾之网络电视精灵——S2 2.8

    从前,有一个神奇的东西叫做搞搞精灵 关于他,有一段历史. 哎呀!我去!写不下去了. -.-以上玩笑 首先需求分析 TreeView显示两种频道 TypeA和TypeB 所以创建三个类 ChannelB ...

  2. Xml文件操作的其中一个使用方法:

    XmlNodeList students = doc.DocumentElement.ChildNodes;//Student节点集合 foreach (XmlNode stu in students ...

  3. node.js 基础学习 express安装使用

    安装好nodeJs,我们需要使用命令行中安装express. 我这里默认将Node.js安装在C:\Program Files\nodCejs\盘中. 在保持联网的状态下,依次输入如下命令. npm ...

  4. Python.Scrapy.14-scrapy-source-code-analysis-part-4

    Scrapy 源代码分析系列-4 scrapy.commands 子包 子包scrapy.commands定义了在命令scrapy中使用的子命令(subcommand): bench, check, ...

  5. Linux 批量替换文件名

    find -name "*parsed" |awk  '{print $1}' |xargs -i{}  mv {} {}.44

  6. unity --项目总结

    最近做的unity的项目涉及到的问题如下: 1.绘制折线图问题: 起初利用的unity自带的linerender组件,这种方法绘制的线不均匀,效果不好.然后又利用画线插件Ves……开头的那个,结果那个 ...

  7. windows下关闭80端口被system占用的情况

    用管理员运行cmd然后用net stop http 停止pid 为4的进程

  8. Log4net日志GUI配置工具

    关于log4net的配置文章在园子里真的很多,但是有关GUI界面配置的文章确定太少,改写了一个以前很早的工具 以前的那个有很多的问题,这个基本的大的问题没有,可能一个小问题还是需要修改下,基本功能肯定 ...

  9. 【转】Android studio 解决64K超出链接数限制问题

    http://my.oschina.net/gabriel1215/blog/602608 目录[-] 使用MultiDex支持库 注意事项 结论 如果你是一个android开发者,你至少听说过的Da ...

  10. Yaf零基础学习总结3-Hello Yaf

    Yaf零基础学习总结3-Hello Yaf 上一次我们已经学习了如何安装yaf了,准备工作做好了之后我们来开始实际的编码了,码农都知道一个经典的语句就是“Hello World”了,今天我们开始入手Y ...