说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

12月9日:计算机软件第一夫人Grace Hopper出生

HTML文档下载 WORD文档下载 PDF文档下载
被誉为计算机软件第一夫人的Grace Hopper于1906年12月9号出生在纽约市的一个海军世家。Grace Hopper是杰出的女数学家和计算机语言领域的带头人,并开发了COBOL——一种被广泛应用于商业的程序语言。


计算机软件第一夫人Grace Hopper

被誉为计算机软件第一夫人的Grace Hopper于1906年12月9号出生在纽约市的一个海军世家。她对计算机领域的贡献不可磨灭,她发现了计算机程序中的第一个Bug,同时也创造了计算机世界最大的Bug——千年虫(Y2K);她实现了第一个编译语言和编译器;创造了世界上第一种商业编程语言COBOL并为之后的高级程序设计语言定义了模型。

之所以Hopper被誉为计算机软件第一夫人,除了致力于发展程序语言设计外,同时还培养了大批的程序设计人员。Hopper自己曾说:“与其说我的最大贡献是发展了程序设计技术,不如说我培养了大批程序设计人才。”在Hopper传奇的一生中,她赢得了无数荣誉和奖励。1971年为了纪念现代数字计算机诞生25周年,美国计算机学会特别设立了“Grace Hopper”奖;1980年Hopper获得国际IEEE组织颁发的首届计算机先驱奖;1991年,布什总统在白宫授予Hopper“全美技术奖”,这也是至今美国女性唯一获此殊荣的人。

Grace Hopper抓住了计算机历史上第一个bug

图为Grace Hopper抓到的Bug——一只蛾,以及她的记录

1945年9月9日,发生了一件对计算机界而言非常重要的轶事。那天的天气很热,工作人员把窗户都打开了,后来有一只蛾飞了进来,结果那只蛾死在一只继电器里面,造成电路不通,机器死机,他们没办法算出他们要的结果。经过了近一天的检查,Grace找到了那只蛾,她设法用她的发夹把那只蛾弄了出来,还把那只蛾的尸体贴在她的管理日志上,上面写道:“就是这个Bug,害我们今天的工作无法完成。”这个消息传开之后,那个实验室里的人每逢老板询问为何还没做出结果时,都把过错推给Bug。

尔后,”bug”(小虫)和”debug” (除虫)这两个本来普普通通的词汇成了计算机领域中特指莫明其妙的“错误”和“排除错误”的专用词汇而流传至今。

另外,那时的硬件极其昂贵,为了节省内存空间,Grace博士开始采用6位数字来储存日期,即年、月、日各两位。随着COBOL语言的影响日愈扩大,这一习惯做法被人们沿用下来,到2000年前,居然变成了危害巨大的“千年虫”,这当然是Grace博士始料不及的事。

发明了世界上第一个编译器(Compiler)

Grace对计算机界的贡献相当多,Bug这个名词的引用,其实只算是一个小小的插曲。她最大的贡献是发明了世界上第一个编译器(Compiler),名字叫做A-0。当时是没有任何组合语言及程序语言存在的,所有的程序设计人员都要把程序翻译成机器码,即”0011000101011″这样的形式,在纸上打孔,再送到机器里去读。Grace在进入Eckert-Mauchley公司之后,便产生了一种想法,她想设计一种程序,让人可以用类似英文的语法,把想做的事写下来,然后用这个程序把英文翻译成机器的语法,交给机器去执行。这个想法就是今日的Compiler(编译器)。当初她提出这样的构想时,众人皆曰不可。所有人都告诉她计算机只能做计算,只能处理数字,计算机是不懂英文的。在50年代,大部分人都尚未意识到计算机是用来处理信息的工具,所有的人就认为计算机只是个计算器而已。Grace Hopper可能是第一个想到这个问题并且有机会做下去的人。尔后,她就到处去演讲以筹集资金来做这项计划。这段期间,有很多朋友问她:“你怎么这么勇敢呢?万一搞砸了,你该怎么办?”Grace回答道:

“It is always easier to ask forgiveness than it is to get permission.”

这句话后来成为她一生中的至理名言之一。

COBOL语言

当初在写世界上第一个编译器A-0时,为了向能出钱的老板炫耀,Grace还设计了三个版本:英文版、德文版、法文版,表明编译器不仅看得懂英文,也看得懂德文跟法文。但后来德文版和法文版的编译器都没再做下去。到1956年,她开发出来一套很完整的程序语言,叫做FLOW-MATIC。海军采用了这套系统(这时Grace还是海军的一员)。因为海军幅员广大,如果各地自行稍加将编译器修改一小部分,就会发生A地的程序在B地无法执行的问题。于是Grace写了一套程序,用来检查这些程序之间是不是采用同样的编译方式,称作Validation。后来影响到民间,渐渐发展出一套新的语言,偏向于商业使用的语法,这套程序语言就是著名的COBOL (Common Business Oriented Language)。这也是Grace Hopper对计算机界的第二个重大贡献。其实,在那个年代总共只有三种程序语言:COBOL、ART、FORTRAN(IBM的产品)。有人把Grace叫做“COBOL之母”,这个称号虽然被学术界的某些人所反对(因为她没有直接参COBOL语言的设计工作),但她对COBOL的形成与发展所起的重大作用却是世人一致公认的。据20世纪80年代初的统计,全美在运行中的程序有80%是用COBOL语言编写的,由此可见COBOL语言对计算机应用发展所起的作用。

COBOL是一种面向数据处理的、面向文件的、面向过程(POL)的高级编程语言,是一种功能很强而又极为冗长的语言。适合于具有循环处理周期的环境(例如打印工资支票)以及数据操纵量相当大的环境。


上图是Grace颁奖给Donald E. Knuth的照片。前者是开创计算机程序设计语言的早期领袖之一,后者是计算机程序算法的当代领袖之一。这是一张难得的合影。

海军少将


她不但是计算机大师,还是海军少将

1966年,Grace Hopper满60岁。她当时的官阶是海军中校,而海军中校60岁就该退休了。退休的那一天,Grace说这是她一生中最悲伤的一天,因为别人已经告诉她:她太老了。但很快,海军发现离了Grace还不行——有个工资管理程序重写了823次还是不能正常运行。因此,她刚从海军退休半年就又被海军召回重新服役,负责海军系统计算机高级语言的标准化和普及工作,并且一干就是20年,直到1986年8月14日才正式最后退休。这期间她的军衔一再提升,在1985年11月,Grace成为了海军少将,她是美国第一个到达这个官阶的女性。由于这超过了美国法律规定的军官服役年龄,国会还通过了专门的法律使对Grace的任命合法化。在波士顿的“宪法号”战舰上向Grace授予“国防部优秀服役勋章”(Defense Distinguished Service Medal)并为她退休举行的隆重仪式上,Grace在致词中自豪地说她是WAVES成员中最后一个离开岗位的人:她40岁时就被告知她太老了不宜继续在部队中工作,而她却仍然穿着制服又干了整整40年!

晚年一直在致力于推动计算机的发展


Grace退休的Party上来了2000多人,有她认识的,也有她不认识的。在正式退休之后,她又跟Digital公司签约,Digital公司聘请她代表他们演讲、推销他们公司的产品。Digital公司当时主要的产品是Minicomputer。事实上,在1986年时PC已经出现,那时叫做Microcomputer。在海军里,Grace Hopper是极力推行使用PC的人之一。她在这方面也有一句名言。她说,在古老的时候,人们都是用牛和马来拉东西,后来人类社会发展得越来越蓬勃,东西越来越重,但是人们并没有使用更大更壮的物种来搬运东西。事实上,人们是用更多的牛和马来做这些更加粗重的工作。她用这个比喻来说,计算机不应该越做越大,而应该用小型的、大量的计算机一起来做要做的事情。(原来Grace在20多年前就提出了并行计算?)

Grace的墓碑

Grace Hopper逝世于1992年1月1日凌晨,在参加了新年Party 之后,准确时间不明。她生前的一个心愿是活到1999年12月31日的晚上,因为她说她想参加那一场Party。显然,Grace是个很喜欢Party的人。

Amazing Grace

Grace Hopper是个非常amazing的人(常被称为Amazing Grace),崇拜她的人相当多。虽然她的事迹很多,但是还有很多有类似事迹的人并没有像她这样受到众人的崇拜。由其中一点我们可以看出来:从1947年开始(二战结束后第二年),她获得了第一个荣誉博士学位(宾州大学),从那以后,她先后被40多所大学授予荣誉博士学位,其中包括芝加哥大学、华盛顿大学、马里兰大学等知名学府。各种妇女社会团体和学术组织都曾授予Grace各种称号和奖励。1991年,布什总统在白宫授予她的“美国国家技术奖” (National Medal of Technology)是其中的最高奖项,她也是至今惟一获此殊荣的美国女性。

她的名言有很多,她自己最喜欢的,也是她最喜欢对所谓的“年轻人”说的(在她年老时,她所谓的年轻人就是“年龄不到我的一半的人就叫做年轻人”),这句话是:

“A ship in port is safe, but that is not what ships are built for.”

Grace的名言太多,所以小编还是摘取了一些Grace语录中比较有意思的话:

  • From then on, when anything went wrong with a computer, we said it had bugs in it.
  • The most dangerous phrase in the language is, “We’ve always done it this way.”
  • Humans are allergic to change. They love to say, “We’ve always done it this way.” I try to fight that. That’s why I have a clock on my wall that runs counter-clockwise.
  • Leadership is a two-way street, loyalty up and loyalty down. Respect for one’s superiors; care for one’s crew.
  • One accurate measurement is worth a thousand expert opinions.
  • Someday, on the corporate balance sheet, there will be an entry which reads, “Information”; For in most cases, the information is more valuable than the hardware which processes it.
  • We’re flooding people with information. We need to feed it through a processor. A human must turn information into intelligence or knowledge. We’ve tended to forget that no computer will ever ask a new question.
  • To me programming is more than an important practical art. It is also a gigantic undertaking in the foundations of knowledge.
  • They told me computers could only do arithmetic.
  • In pioneer days they used oxen for heavy pulling, and when one ox couldn’t budge a log, they didn’t try to grow a larger ox. We shouldn’t be trying for bigger computers, but for more systems of computers.
  • Life was simple before World War II. After that, we had systems.
  • We went overboard on management and forgot about leadership. It might help if we ran the MBAs out of Washington.
  • At any given moment, there is always a line representing what your boss will believe. If you step over it, you will not get your budget. Go as close to that line as you can.
  • I seem to do a lot of retiring.
  • I handed my passport to the immigration officer, and he looked at it and looked at me and said, “What are you?”

她的语录还是原汁原味的比较好,所以小编并未翻译。

写在最后:

她是计算机界崇拜的软件大师,事实上,她对计算机领域的贡献不只是COBOL语言,Bug和千年虫,更重要的是,她开创了程序语言的编译时代,为现代编程语言提供了出行,解放了程序员的生产力,为计算机软件打下了高速发展的理论基础和实例模型。请记住计算机软件第一夫人Grace Hopper,美国海军上将,Bug发现者,编译语言创始人和现代高级程序设计语言的奠基人。

她的更多事迹请查看:维基百科、國立中央大學数学系和耶鲁大学计算机系。

控制光驱门的开关 -VB资料 VB利用 窗口函数监视系统的运行情况(VB类) VB判断是否在VB5环境下运行 VB判断一个32位程序是否结束 VB判断一个程序启动完成(不是结束) 屏蔽TextBox的系统菜单 -VB资料 启动时禁止装入 Add-Ins -VB资料 让Timer控件每5分钟触发一次事件 -VB资料 让程序启动快一点 -VB资料 VB如何调用系統的【查找】、【替换】的对话框? VB如何动态新增、移除 ODBC DSN? VB如何读取 Picture 内任何一点的颜色值? VB如何获取硬盘卷标、序列号和文件系统类型? VB如何判别程序是在Win95或NT下执行? VB如何启动控制面板? VB如何取得磁盘序列号? VB如何让Window不接受键盘输入及Mouse Click VB如何让程序拥有多个热键? VB如何让用户自行输入方程式,并计算其结果? VB如何使程序不在Ctrl+Alt+Del弹出的对话框内? VB如何使用 VB 编写自动反安装的程序? VB如何用VB建立快捷方式 VB如何用VB在桌面建立快捷方式 VB如何在 VB 中控制 Modem 行为? VB如何在VB中判断Windows9x的运行模式 VB如何在Visual Basic中实现异步执行程序 VB如何在开机时自动更换墙纸? 使回车具有 Tab 的功能-VB资料 输入时,自动转换成小写? -VB资料 显示多媒体信息 -VB资料 也谈Windows 下的自动存盘 -VB资料 程序中定义表,只能用BDE中的TTable?不能用TADOTable么? 在cb里边怎么通过编程调用存储过程(ado连接) 如何在添加数据后,弹出窗口,告诉客户“添加成功“ 那里有关于indy的资料 谁能告诉我国内做零售业、超市、连锁店系统的如POS机,库存等有几家公司啊 如何比较两个表中不同的记录? 有谁能提供一个查询代码?(2个select的)! 关于交换机的寻址 如何比较两个表中不同的记录? 网站刚刚更新~顶者有分!!!http://biqing.6to23.com 重装WINDOWS200后ORACLE的处理办法 用backup database备份数据库的时候如何获取SQL返回的操作信息 基本性能调整Basic Performance Tuning 不知怎么好,又相似情况给点建议 菜鸟提问,请各位大哥帮忙!在线等,参与有分!! 那位大哥给我一段datagrid排序的代码 .mdb文件如何转换成为.asa文件? 请问如何保存绘制的图形? 有一个框架包含2页,左侧页面中有很多复选框。如何钩选一个复选框然后,马上就提交到右侧框架的页面中。 用过压缩控件zipTv的兄弟进来瞧瞧!!! 请问如何设置srcollbar为xp的样式? 求助ddlb里面的事件触发问题。 请问会delphi,c++builder,Vc 现在去北京好找工作吗,工资应该会是多少阿,谢谢 RPC服务选项变灰色,与注册表的哪项有关? 想学LINUX,请推荐好书 能不能捕获某个窗口的图像,即使在这个窗口被其他窗口挡住的情况下? 找mp3 test 程式,出測試方案(請相關高人指點) 我来搬救兵的:导出数据窗口数据,然后图片(工具栏)不可以显示。 win2000安装问题 c在c++中出现的奇怪问题,请高手帮忙解答 MSMQ如何在从远程外网取消息队列的消息?? 用sql语句来对数据的随机读取(在线等.......) 使用ICS共享上网,ICS会自动给客户机分配IP,如何知道这个IP是多少? 一个控制窗体不能通过鼠标改变大小的问题 这是什么 wrox 的书的源码下载怎没有-up有分 求助,JSP+Crystal Report9.22问题。怎么导出EXCEL格式 CSDN的朋友,您如果有时间,给我写一个,快速傅立叶变换的程序把。 二叉树问题 谁对zope,cmf 有研究,谈谈设计思路? 问一下用过VB的人几个问题,谢谢先 关于显示千分位的问题 win98拨号服务器问题 你竟然不回我的短信! 如何在Datagrid的最后追加一行,这一行放多个文本框,用来添加新数据 谁有可垂直居中的QRLabel? 怎样通过程序模拟网页post数据到一个servlet? wrox 的书的源码下载怎没有-up有分 《我们共同的容闳》专辑明天在央视国际频道播出 程序发布问题,大哥大姐来帮忙呀 在线咨询:用ATL做ActiveX控件,能不能让控件是个多文档界面程序。 Get to the top of hill,______ you can see the whole city A.or B.but C.and D.so 驿站是什么意思? 数列{an}是公比q(q>0)的无穷等比数列,a1=1求limSn/(a1^2+a2^2+…+an^2) 求问:内六角扳手中(T25内六角扳手)是什么意思,开口扳手的规格、长度是怎么对应的,例如:单开口扳手:M5*66*1.5对应的是哪边的长度,双开口M7-M8*100*2对应的又是哪边的长度. 如何求焦点在X轴上且恒过定点(2,1)的椭圆中的长半轴取值范围已知椭圆的焦点在X轴上,且恒过定点(2,1),求长半轴的取值范围 绿宝广场英语怎么说 如果长方形周长为4a?一边长为(a--b),则另一边长为? 已知一个长方形一边长为a+2b,另一边比它大b-a,求长方形周长?a.3a+3b b.3a-2b c.6a+6b d.2a+b 生命驿站的意思是什么?至少写50个字. 平方的进制是多少,立方呢? 俄罗斯的历史教科书上是如何描述19世纪中后期对中国领土的占领的? 德国农场主检查马厩 发现自家马匹驮回瑞士引将进新技术 加强政府成员通信安日自明党提议福岛核电站追加除污费应由英媒称中国应对气候变化态度积极 民众巴基斯坦一亲政府部落长老与6名家人被统计显示韩国“女大男小”婚姻比率逐渐分析称受教育程度越高越易于维持婚姻长促招商引资 奥巴马向外国投资者“推销泰国代孕黑市剥削孕母 酬劳低至5.8美国加油站员工遭枪击 子弹打中手机躲为表彰军犬贡献 美军方为军犬设国家纪铁路秩序正常 警方加强安保应急分队就数学水平胡耀邦的粗口诗广州市儿童公园玩乐攻略科迈罗Camaro德赛西威发布三维全景环视系统首批车主广东拟建全国最大铁路物流基地长安铃木“超级试驾员”活动在穗举行明年8月开馆歌诗图新增3.0升版本泡妞系统重生之太极快剑异世金庸群侠传原力文明锥命兽语新说异界之色神战将步步诛仙沧澜守护神生化炼金师江湖剑雨琴石家庄植物园旅游东水关遗址公园旅游昭君村旅游马尾港旅游楠溪江龙瀑仙洞旅游8号桥旅游雁荡路休闲街旅游中越边境53号界碑旅游中日樱花友谊林旅游梅家大院旅游亚美打利庇卢大马路旅游
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘