C++ 是一门难学易用的语言!

C++ 的难学,不仅在其广博的语法、语法背后的语义、语义背后的深层思维、深层思维背后的对象模型;C++ 的难学,还在于它提供了4种不同(相辅相成)的编程思维模型:procedural-based,object-based,object-oriented,generic paradigm。

世上没有白吃的午餐。又要有效率,又要有弹性,又要前瞻望远,又要回溯相容,又要能治大国,又要能烹小鲜,学习起来当然就不可能太简单。

在如此庞大复杂的机制下,万千使用者前赴后继的动力是:一旦学成,妙用无穷。

C++ 相关书籍之多,车载斗量,如天上繁星,如过江之鲫。广博如四库全书者有之(The C++ Programming Language、C++ Primer),深奥如重山复水者有之(The Annotated C++ Reference Manual, Inside the C++ Object Model),细说历史者有之(The Design and Evolution of C++, Ruminations on C++),独沽一味者有之(Polymorphism in C++, Genericity in C++),独树一帜者有之(Design Patterns, Large Scale C++ Software Design, C++ FAQs),程序库大全有之(The C++ Standard Library),另辟蹊径者有之(Generic Programming and the STL),工程经验之累积亦有之(Effective C++, More Effective C++, Exceptional C++)。

这其中,“工程经验之累积”对已具 C++ 相当基础的程序员而言,有着致命的吸引力与立竿见影的帮助。Scott Meyers 的Effective C++ 和 More Effective C++ 是此类佼佼,Herb Sutter 的 Exceptional C++ 则是后起之秀。

这类书籍的一个共同特色是轻薄短小,并且高密度地纳入作者浸淫于 C++/OOP 领域多年而广泛的经验。它们不但开扩读者的视野,也为读者提供各种 C++/OOP 常见问题或易犯错误的解决模型。某些小范围主题诸如“在base classes 中使用 virtual destructor”、“令operator= 传回 *this 的 reference”,可能在百科型 C++ 语言书籍中亦曾概略提过,但此类书籍以深度探索的方式,让我们了解问题背后的成因、最佳的解法,以及其他可能的牵扯。至于大范围主题,例如smart pointers,reference counting,proxy classes,double dispatching,基本上已属design patterns的层级!

这些都是经验的累积和心血的结晶!

我很高兴将以下两本优秀书籍,规划为一个系列,以郑重的形式呈现给您:

1. Effective C++ 2/e, by Scott Meyers, AW 1998

2. More Effective C++, by Scott Meyers, AW 1996

本书不但与英文版页页对译,保留索引,并加上译注、交叉索引 、读者服务 。

这套书将对于您的程序设计生涯带来重大帮助。翻译这套书籍的过程中,我感觉来自技术体会上的极大快乐。我祈盼(并相信)您在阅读此书时拥有同样的心情。

侯捷 2003/03/07 于台湾新竹

jjhou@jjhou.com

http://www.jjhou.com

转载于:https://www.cnblogs.com/broadview/archive/2011/01/06/1926986.html

C++ 是一门难学易用的语言!相关推荐

  1. 联合国公布世界上最难学的十大语言

    发音优美的语言 在国际语言学界,日语,意大利语和西班牙语,是三个公认的发音优美的语言,其中,日语更是排在第一位.在语言学上,评价一种语言的发音是否 优美,有一个公认的标准,那就是辅音数量和元音数量的比 ...

  2. lisp不是函授型语言_为什么Common Lisp是一门难学的语言

    Common Lisp学起来不容易,很多人花了很久时间然而效果有限.为什么呢?我来试着总结一下原因.首先来看语言自身的原因: 1. Common Lisp是一个允许高度定制的语言,在语言的不同层面,都 ...

  3. 【难学易用c++ 之 继承】

    目录: 前言 一.继承的概念及定义 (一)概念 (二)继承定义 继承关系和访问限定符 继承基类成员访问方式的变化 二.基类和派生类对象赋值转换 三.继承中的作用域 四.派生类的默认成员函数 五.继承与 ...

  4. 最易/难学习的编程语言榜单出炉,C++最难学?

    你还记得你第一次写代码的时候使用的是什么编程语言吗?在学习编程的过程中,你认为最简单易学或是最难上手的语言是什么呢?如果给新手推荐入门的编程语言,你会如何推荐或是建议他们避开什么语言呢? 在线学习平台 ...

  5. C++ 最难学?最易/难学习的编程语言 TOP 5 来了!

    在线学习平台 Springboard 罗列了一个最容易学习和最难学的编程语言 Top 5 榜单. 事实上,问一个程序员最容易学习的语言,就像问一个人他们最喜欢的冰淇淋.每个人都有自己的偏好,永远没有真 ...

  6. 哪一门编程语言入门很难学呢?看看这份编程语言排行榜

    编程语言是开发者们代码工作的核心,也是许多开发者最爱讨论的话题.编程语言的选择对开发者和工具制造商都十分重要,前者需要保持最新和具备市场潜力的技能,后者则需确保他们能够提供最有用的SDK. 开发者经济 ...

  7. python 框架好学吗-python的flask框架难学吗

    Flask框架难学吗?它和Django哪个更容易一些,这可能是学Python web开发的同学经常问的问题,下面来说一下flask框架. Flask是python的web框架,最大的特征是轻便,让开发 ...

  8. 为什么模电这么难学?一文带你透彻理解模电

    想必模电就是小伙伴们非常头疼的一门课程,最深刻的感受莫过于就是"老师说第一遍不懂,第二遍还是不懂,第三遍还是不懂." 网友对模电有以下总结: 天书般难懂. 模电=魔电 本科模电就够 ...

  9. 学python和java哪个难?,java和python哪个难学

    java和python哪个好学 ①python比Java简单,学习成本低,开发效率高;②Java运行效率高于python,尤其是纯python开发的程序,效率极低;③Java相关资料多,尤其是中文资料 ...

最新文章

  1. 启动多个pid_西门子S7-300PLC实现PID控制
  2. 【正一专栏】欧陆烽火——珍惜像伊布一样的男人!
  3. Apache与Tomcat使用
  4. 【CSS 】动画animation
  5. 基于FPGA的前向纠错算法
  6. 阿里DRUID数据源
  7. 边缘设备上的实时AI虫害消除:入门
  8. azure云数据库_Azure Data Studio中Windows的数据库管理工具扩展
  9. 讯飞输入法粤语语音识别率达95%支持粤转普
  10. 宫崎峻《となりのトトロ》(龙猫)全剧本(中日对照)(2)
  11. graphx项目实战 — 航班飞行网图分析
  12. 大数据下的图片类别以及图片爬取详细的过程(一)
  13. 3D建模都用哪些软件?
  14. No debugging symbols found in a.out
  15. 硕士毕业论文的致谢怎么写
  16. t460p加固态硬盘 thinkpad_不仅是硬件升级!ThinkPad T460p评测
  17. Android通过OMA获得ESE的CPLC
  18. 为什么选择0.1uF电容而不是0.01uF电容?
  19. MATLAB-GUI登录界面
  20. 【C语言】通讯录(文件版)

热门文章

  1. Linux的java服务配置步骤
  2. 【实施工程师】ubuntu创建文件
  3. List精讲(Java版)·算法常用集合处理方法
  4. ASP.NET Core微服务(三)——【跨域配置】
  5. SpringBoot最简单服务配置
  6. 批处理如何清除文本文档里面的重复行
  7. orakill和alter system kill session的区别
  8. SQL Calendar Table
  9. Sitecore安全性第1部分:自定义角色和权限
  10. shell中各种美元符号组合