网站大量收购闲置独家精品文档,联系QQ:2885784924

本文作者简介比雅尼斯特劳斯特鲁普(BjarneStroustrup)是.PDFVIP

本文作者简介比雅尼斯特劳斯特鲁普(BjarneStroustrup)是.PDF

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
本文作者简介 : 比雅尼•斯特劳斯特鲁普 (Bjarne Stroustrup) 是C++的设计者和 最初实现者。同时也是 《C++程序设计语言》、 《C++语言的设计和 演化》、 《程序设计原理与实践》和其他诸多著作的作者。斯特劳 斯特鲁普博士是德州农工大学工程学院计算机科学首席教授。他是 美国国家工程院会员、ATT会员、IEEE会员和ACM会员。他的研究 领域包括分布式系统、原型设计、编程技术、软件开发工具和编程 语言。他积极参与了ANSI/ISO C++的标准化工作。 翻译 :龚小聪 ,石葆光(华中科技大学本科生 , Dian团队队员) What Should We Teach New Software Developers? Why? 我们应该教给未来的软件开发者什么?原因是什么? 为了更好的迎合工业界的需求 ,我们得从根本上改变计算机科学教育。 在系统研发中,处于中心地位的应当是计算机科学知识。否则 ,我们在研发的过程中通常只会 依靠经验法则 ,最后做出来的系统扩展性差、可靠度低、成本高。因此 ,我们需要改变计算机 科学教育 ,来提高软件研发的水平。 问题所在 计算机科学教育和工业界需求之间 ,往往有很大的差距。设想以下场景 : 著名的计算机教授很自豪地说 :“我们教的不是编程 ,而是计算机科学。” 企业经理 :“他们在编程方面简直就是白痴。” 很多情况下 ,他们都是对的 ,并且还不只是表面上的正确。学术界的工作不仅仅就是培养普通 的程序员 ;工业界也不仅仅需要“面面俱到的高水平的思想者”和“科学家”。 另一名计算机教授说 :“我从不写代码。” 另一名企业经理说 :“我们不雇佣计算机专业的毕业生。教物理系毕业生编程 ,比教计算机系毕 业生物理简单多了。” 双方各执一词 ,但太过理想化 ,并且都有误解。教授不能教那些自己不去实践 (很多时候甚至 就是从未实践过 )也没有理解的东西 ;而对于企业经理来说 ,只有在软件质量需求异常低 ,以 至于连物理系的学生(还有一些没有受过训练的计算机系的学生)都能应付这样的情况下 ,他 的话才是对的。当然 ,有些物理系的学生十分刻苦努力 ,在物理学之外又同时掌握了计算机科 学 ,他们不包括在内——这样具备双重技能的人 ,在我看来才是最理想的人才。 计算机教授(谈论一个学生):“他在企业找到了一份工作。” 另一个计算机教授 :“太可惜了,他是那么有前途的一个学生。” 这样的脱节带来了很多问题 ,解决起来也很麻烦。 工业界希望计算机系的毕业生去写软件 (至少在他们的职业初期是这样的)。这种软件通常是 某个长线代码库的一部分 ,并且会被用到需要高可靠度的系统上去 ,例如嵌入式系统和分布式 系统。但是 ,很多毕业生除了有业余编程爱好外 ,没有真真实实地接受过软件开发的教育或培 训。更甚的是 ,很多学生只是把编程当做完成家庭作业的小把戏 ,很少在系统测试、系统维 护、文档化和代码可读性等方面上有所重视。另外 ,学生们不能把在一门课中学到的知识和另 一门课联系起来。这样一来 ,我们经常看到学生在算法、数据结构和软件工程的考试中取得很 高的分数 ,但是他们在操作系统实验课上却全然不顾数据结构、算法和软件架构 ,只去照搬现 成的方法 ,实验结果一团糟。 对于很多人来说 ,“编程” 已然成为胡乱修改代码、调用他人库函数这两种行为的结合。对背后 的原理 ,他们几乎一无所知。“系统维护”和“代码质量” 的概念他们理解甚少 ,甚至无视。在工 业界 ,很多人抱怨找不到能够理解“系统”和“软件构建” 的毕业生。这种抱怨反映出了现实的问 题。 我的电脑还没死机呢 大家常抱怨软件质量。不过在过去的十年里 ,很多软件已经大有改善。不幸的是 ,这种改善是 代价昂贵的。这个代价体现在人的精力耗费和计算机资源消耗上。我们学会了怎样从不可靠的 部分组建出相对可靠的整体 ,方法就是不断地添加运行时检查 ,并构建大量的测试代码。有时 连代码结构本身都被改变了,而且还不是被改得更好。软件层次过多、依赖关系错综复杂 ,让 一个无论多么有能力的人都难以理解整个系统 ,这不是个好征兆 :或许在将来 ,我们不能理解 自己的软件系统 ,也不能测试系统中的关键部分。 当然 ,有一些系统架构师 ,他们顶着压力反对继续构建规模膨胀、难以理解的系统。当飞机没 有坠毁、电话还能用、邮件也按时到达的时候 ,我们得感谢他们。他们是值得表扬的 ,他们的 努力使得软件形成了一套成熟可靠的法则、工具和技术。可惜 ,他们只是少数。大多数情况 下 ,膨胀性的软件构建方式支配着人们的印象和思维。

文档评论(0)

***** + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档