- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C++之父眼中的C++
Bjarne Stroustrup博士,1950年出生于丹麦,先后毕业于丹麦阿鲁斯大学和英国剑桥大学,ATT大规模程序设计研究部门负责人,ATT、贝尔实验室和ACM成员。1979年,B. S开始开发一种语言,当时称为“C with Class”,后来演化为C++。1998年,ANSI/ISO C++标准建立,同年,B. S推出了其经典著作The C++ Programming Language的第三版。C++的标准化标志着B. S博士倾20年心血的伟大构想终于实现。但是,计算技术的发展一日千里,就在几年前人们还猜想C++最终将一统天下,然而随着Internet的爆炸性增长,类似Java、C#等新的、现代感十足的语言咄咄逼人,各种Script语言更是如雨后春笋纷纷涌现。
在这种情况下,人们不禁有些惶恐不安。C++是不是已经过时了呢?其前景如何?标准C++有怎样的意义?应该如何学习?我们不妨看看B. S对这些问题的思考。以下文字是译者从Stroustrup1998年之后发表的若干文章、谈话笔记中精选出来的,由于出处不一,内容多有重复,为保持完整,亦一并译出。
以下内容选自B. S在自己主页上发表的FAQ
1. 请谈谈C++书。
没有,也不可能有一本书对于所有人来说都是最好的。不过对于那些真正的程序员来说,如果他喜欢从“经典风格”的书中间学习一些新的概念和技术,我推荐我的The C++ Programming Language, 1998年的第三版和特别版。那本书讲的是纯而又纯的C++,完全独立于平台和库(当然得讲到标准库)。该书面向那些有一定经验的程序员,帮助他们掌握C++,但不适合毫无经验的初学者入门,也不适合那些临时程序员品尝C++快餐。所以这本书的重点在于概念和技术,而且在完整性和精确性上下了不少功夫。如果你想知道为什么C++会变成今天的模样,我的另一本书The Design and Evolution of C++ 能给你满意的答案。理解设计的原则和限制能帮助你写出更好的程序。是最好的书评网站之一,很多有经验的程序员在此仗义执言,不妨去看看。
2. 学习C++要花多长时间?
这要看你说的“学习”是什么意思了。如果你是一个Pascal程序员,你应该能很快地使你的C++水平达到与Pascal相近的程度;而如果你是一个C程序员,一天之内你就能学会使用C++进行更出色的C风格编程。另一方面,如果你想完全掌握C++的主要机制,例如数据抽象,面向对象编程,通用编程,面向对象设计等等,而此前又对这些东西不很熟悉的话,花上个一两年是不足为奇的。那么是不是说这就是学习C++所需要的时间呢?也许再翻一番,我想打算成为更出色的设计师和程序员最起码也要这么长的时间。如果学习一种新的语言不能使我们的工作和思想方式发生深刻的变革,那又何苦来哉?跟成为一个钢琴家或者熟练掌握一门外语相比,学习一种新的、不同的语言和编程风格还算是简单的。
3. 了解C是学习C++的先决条件吗?
否!C++中与C相近的子集其实比C语言本身要好学,类型方面的错误会少一些,也不像C那样绕圈子,还有更好的支持库。所以应该从这个子集开始学习C++。
4. 要想成为真正的OO程序员,我是不是得先学习Smalltalk?
否。如果你想学Smalltaok,尽管去学。这种语言很有趣,而且学习新东西总是一个好主意。但是Smalltalk不是C++,而且把Smalltalk的编程风格用在C++里不会有什么好结果。如果你想成为一个出色的C++程序员,而且也没有几个月的时间百无聊赖,请你集中力量学好C++以及其背后的思想。
5. 我如何开始学习C++?
这取决于你的基础和学习动机。如果你是个初学者,我想你最好找个有经验的程序员来帮助你,要不然你在学习和实践中不可避免的犯下的种种错误会大大地打击你的积极性。另外,即使你的编译器配备了充足的文档资料,一本C++书籍也永远是必不可少的,毕竟文档资料不是学习编程思想的好教材。
选择书籍时,务必注意该书是不是从一开始就讲授标准C++,并且矢志不渝地使用标准库机制。例如,从输入中读取一个字符串应该是这样的:
string s; // Standard C++ style
cin s;
而不是这样的:
char s[MAX]; /* Standard C style */
scanf(%s,s);
去看看那些扎实的C++程序员们推荐的书吧。记住,没有哪本书对所有人来说都是最好的。
另外,要写地道的C++程序,而避免用C++的语法写传统风格的程序,新瓶装旧酒没多大意义。
(遗憾的是,目前在市面上的中文C++教材中,符合B. S的这个标准的可以说一本都没有,大家只好到网上找一些英文的资料来学习了。——译者)
6. 怎样改进我的C++程序?
您可能关注的文档
- 读书增智赠书读书活动方案共享版.doc
- 2013银行考试题目.doc
- 2013中国经济形势与经济体制改革.doc
- 短跑训练方法(2014.05.05).doc
- 对冰淇淋的营养强化工艺的探索与实践.doc
- 对县域经济金融反差运行的调查分析.doc
- 2014.1.28河北省棚户区改造规划(最终稿).doc
- 儿科护理习题9.doc
- 2014_华医网_《临床基本技能操作》_答案.doc
- 二、目标管理255.doc
- 一级建造师之一建公路工程实务综合提升练习题附有答案详解.docx
- 试验检测师之道路工程模拟题库提供答案解析.docx
- 2023年施工员之装修施工基础知识考前冲刺模拟题库附答案详解.docx
- 2023年证券分析师之发布证券研究报告业务综合提升测试卷附答案.docx
- 2022-2023年中药学类之中药学(中级)综合提升检测卷提供答案解析.docx
- 2022-2023年中药学类之中药学(士)模拟卷.docx
- 护师类之外科护理主管护师综合提升练习题含答案讲解.docx
- 2023年检验类之临床医学检验技术(师)通关模拟考试试卷提供答案解析.docx
- 2022-2023年初级经济师之初级经济师基础知识综合提升模拟考试试卷和答案.docx
- 2022-2023年军队文职人员招聘之军队文职教育学通关模拟卷附有答案详解.docx
文档评论(0)