玛格丽特:“软件工程”的书写者_第1页
玛格丽特:“软件工程”的书写者_第2页
玛格丽特:“软件工程”的书写者_第3页
玛格丽特:“软件工程”的书写者_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1/4玛格丽特“软件工程”的书写者玛格丽特“软件工程”的书写者1936年,玛格丽特出生于美国一个普通的家庭。大学时,她主修数学。读书期间,她嫁给了詹姆斯汉密尔顿。毕业后,玛格丽特找了一份教师的工作。那时,她的丈夫还在哈佛法学院读书,她因而承担起了家庭的重任。正当两人的的小日子过得紧紧巴巴时,一个工作机会摆在了玛格丽特面前,当时计算机科学的先锋MIT里有一个实验室在招临时编码工,玛格丽特抱着试试看的态度,就这样踏进了程序员的殿堂。一边看孩子一边写程序一开始,她为天体学系写天气预报系统的代码,后来又去了大名鼎鼎的林肯实验室,为美国军方SAGE项目写代码用电脑程序帮助侦查危险的“不友好的飞行物”。这些毫无头绪的程序有多难处理呢对此,当时有人用希腊语和拉丁语写评论来取乐。而玛格丽特是全实验室第一个解决问题的人,她还把调试方法翻译成希腊语和拉丁语,漂漂亮亮地回敬了一发。玛格丽特的女儿劳伦也在这时出生了,繁忙的妈妈不得不将小劳伦带去工作,让她睡在实验室的地板上,醒来后则独自玩耍。2/4当时,人们对这样一个“工作狂妈妈”十分不理解,但玛格丽特并不在意,她热爱着这份虽然枯燥却充满挑战和“神秘感”的工作。挽救飞船的“不重要”程序由于出色的表现,玛格丽特获得了另外一个机会加入MIT的CHARLESSTARKDRAPER实验室,带领一个小团队为NASA的阿波罗计划写软件。在阿波罗最初的预算报告中,根本就没有“软件”二字。不过后来,NASA意识到了软件的重要,逐渐把软件相关的团队扩大到了400多人。但玛格丽特依然是一个无名小卒,她负责的是整个计划中最不受重视的部分“万一”任务失败之后的后备方案,连这个部分的名字,都被称作“FORGETIT”。“我想为整个系统中加入一旦人工出错之后的备用纠错方案,”玛格丽特说,“但是他们不同意。他们说,宇航员们都经过了严格的、完美的训练,绝对不可能出错。”那时,计算机的存储空间和计算能力都十分有限,决策者不希望有任何“累赘”的部分。玛格丽特无奈,只好在操作系统里做了一个备注“不要在飞行时选择P01模式”。但坏事儿还是发生了。在阿波罗8号环绕月球任务3/4中,宇航员罗威尔一时疏忽,按下了P01模式,所有巡航数据都被清空了,飞船分分钟迷路。休斯顿紧急打来电话,玛格丽特领着一群程序员,连夜奋战了9个小时,才修复了这个问题,使阿波罗8号得以成功返航。而真正的考验还在后面。随着登月计划紧锣密鼓的进行,美国政府和NASA都绷紧了弦。玛格丽特的加班也越来越多。而成就总是伴随着错误和风险就在阿波罗11号历史性着陆月面的3分钟前,忽然警报大作,轨交雷达发来的大量数据涌入电脑存储区,快把电脑弄崩溃了。而若是系统崩溃,飞船将毫无悬念地坠毁在月球上。但是,玛格丽特设计的系统顶住了这个压力。在大量数据涌入电脑时,最宝贵的计算资源被用于最关键的部分,比如安全登陆,而处理不重要的雷达交互数据的任务被砍掉。这次事件,促使她提出了后来的“异步程序”概念,即程序可以不用等待当前任务响应,先处理其他任务,待到任务处理完成之后再接受任务完成的通知。这可以提高计算效率,防止程序被卡死。玛格丽特拯救了人类的登月计划,不仅是因为她的聪明,更是因为她的努力和心思缜密,她的团队在每次程序确定之后,都会一遍遍严格地测试,使用模拟器来模拟登陆状况。许多问题她早就考虑到了,毕竟“不出错”永4/4远都是一个理想状态。“软件工程”的诞生在那个年代,程序员工作系统化程度很低,如果出现了错误,大多数都是潦草地在“出错理由”里面填一个“有BUG”来解决。但玛格丽特认为这远远不够,她认为程序员需要理解错误,梳理错误的原因,并防止下一次程序出错。此时,写程序更像是一门手艺,完全没有“软件工程”的概念,而玛格丽特用自己的实践,赋予了这个词现实的意义。她开始用“软件本文由论文联盟HTTP/收集整理工程师”来称呼她在内的程序员,在她的推动下,“软件工程”成了一门更规范、更系统的科学玛格丽特将软件工程这份事业提升了一个高度。离开NASA的玛格丽特自立门户,她在自己所涉及到的许多领域,都有创见比如系统设计、软件开发、过程模型、开发范

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论