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

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和EXCEL的报表设计及打印 VB建立多级目录 -VB资料 VB建立快捷方式-VB资料 VB建立文件关联 -VB资料 将RichTextBox 之中被选取的内容复制到剪贴簿-VB资料 将我的程序的文本直接送到WORD中(不用粘贴)-VB资料 开启文件属性窗口 -VB资料 快速读取 TextBox 第 N 行的资料 -VB资料 快速选择里List全部项目-VB资料 VB利用 App.Path 读取「应用程序所在之目录」 VB利用 EM_LINESCROLL 信息控制 TextBox 的卷动。 命名的技巧 -VB资料 目录所占的字节数-VB资料 VB判断文件是否在IE的缓存中 屏蔽文本框的右键菜单-VB资料 VB取得长文件名 VB取得临时文件名 VB取得某个目录底下所有文件大小总和 VB取得文件的扩展名 VB取得文件内容 确定 TextBox 有几行-VB资料 确定是 WINDOWS 的可执行文件-VB资料 让打印机只打印一行-VB资料 VB如何把批处理文件转换成EXE文件? VB如何调用 Office VB如何将文件删除到回收站 VB如何快速移动文件? VB如何让文本框输入完后,直接跳入下一行? VB如何使用vb取得一个文件的控制权 VB如何使用文件复制对话框? VB如何使用资源文件 最高级的问题?搞一个专业的VC程序员基地~~~~~~ 在研究directshow filter的push模式的兄弟请进 800分+工资管理原代码,如何解决ActiveReports打印图片的一个很难题;否则我快下岗了 有两个问题,每题40分,马上给分!!!! 如何使用打印机? 在爱情方面谁能做到这一点? 谁有 file cutter v1.4的注册码? 有急用! 搞一个专业的VC程序员基地~~~~~~谁愿意加入????? 最新发现:原来C++Bilder的项目文件(.bpr)是XML格式的! 关于FAT32和NTSF的问题 如何用VC实现Email的发送? 800分+工资管理原代码,如何解决ActiveReports打印图片的一个很难题;否则我快下岗了! 搞一个专业的VC程序员基地~~~~~~需要网页制作高手!! ADO 的用法 m_pRecordset->Fields->GetItem(index)->GetName() 关于CRichEditCtrl的问题之二,取的当前可见行数? 请问在哪里下载IMAIL SERVER???各位帮帮忙!!! 高手请回答,ADO和BDE到底有什么区别,你选择谁?为什么? 高分求教!!!!!!!!!!!!!!!!怎样得到局域网上所有的机器名?(普通WINDOWS网络,用VB?,好象用WNET API可以的) 如何安装com.ibm.bridge2java.*这个包阿? 有人吗???求救! 你也许也会遇到这样的问题? 800分+工资管理原代码,如何解决ActiveReports打印图片的一个很难题!!! 大虾看过来. 一个access表一万条记录,想转到Mysql下(Mysql在Linux下)用什么方法和什么语言来做好? rs.CursorLocation=aduseclient是什么东西? 800分+工资管理原代码,如何解决ActiveReports打印图片的一个很难题! 简单SQL,免费送分! 用ASP如何上传文件,可以用组件。 谁知道怎么改运行中的程序的托盘图标???我用SysTray.ocx不能改? 新手提问,简单题目,大量给分~~~~~~~~~~ 如何使用getdispatch(), 800分+工资管理原代码,如何解决ActiveReports打印图片的一个很难题!! 关于在一个窗口中的多个数据窗口的问题 扔块砖头, 开个场子 。 ( yeti_lee ) 800分+工资管理原代码,如何解决ActiveReports打印图片的一个很难题;否则我快下岗了? To: baicolt(五岁的小新是我师傅) 有没有人用过Jcreator 如何在sql server 的查询分析器中用sql语句转到另一台机器上的数据库,同样了sql server的 是不是MSHFlexGrid的bug? 800分+工资管理原代码,如何解决ActiveReports打印图片的一个很难题;否则我快下岗了?? 这个错误类型是什么意思? 如何能够简单的得到昨天的日期? NetBios-SSN是什么? 怎样得到局屿网上所有的计算机名,我想给班里写个局屿网聊天程序,原想用DX8,但DX8好想建立的连接都是C/S模式的。如果能得到机器名就可以用WINSOCK写了(用VB写) 请问诸位有没有什么自动生成源码注释的工具,可以产生函数说明注释和类说明注释 数据库连接这种是什么错误? TStringList *p 定义为一个两维数组怎么做? 在VC++6.0下编程,有什么办法可以获得所有的窗口的句柄??? 如何纪录当前的ID 凡是繁体字的帖子是不是港台同胞发的? 在ASP中,怎样可以删除一个在硬盘上的的文件????? 假如把一亿元兑换成100万张100元人民币,新版人民币的规格是15.5×(单位:cm),那么100万张有多少平方米过程也要 在比例尺是1:3000000的地图上,量得A,B两城之间的距离是2.4厘米.在A,B两城之间有一个中途停靠站C.A,B两城到C站的距离比是7:5.一辆汽车从B城到C站用了0,6小时,求这辆汽车的速度 不锈钢管的计算公式按每米报价 南京长江大桥下层的铁路桥全长6700,若把它画在比例尺是1:1000000的地图上,应画几厘米 在比例尺是1:2500000的地图上,量得两市之间的距离是6厘米.如果画在比例尺是3000000分之1的地图上,应画多少厘米? 矩形钢管每米价怎么算已知一种矩形管价格是5300每吨 问每米价格是多少 成本 利润 计算公式比如我进价是8000,我买12000,这个是加了百分之多少?比如我进价是8000,我要卖12000,这个是加了百分之多少? 针织布怎么算幅宽 304不锈钢管价格去哪里查询价格啊? 利润公式有没有成本-售价 针织幅宽1.85M 克重800克,单件用量0.4平方米,件数1000总的用量怎么算 在比例尺是1:40000的地图上,两地相距5厘米,如果在比例尺是1:25000的地图上,两地间的距离是多少厘米 商品成本a 税收10% 利润30% 求个公式 把a放进去就得到零售价格 比如烟10块成本.税收10%利润30%我要卖多少?着急~ 甲乙两地相距4.8千米,如果画在比例尺是1:20000的地图上,应画多少厘米? 在比例尺1:40000的地图上量得两地的距离是6厘米,这两地中间的实际距离是多少米? 元要以万元为单位要怎么换算假如100763548.00元要以万元为单位怎么写呀?我都懵了. 千吨怎么换算成万吨?如:123456千吨 100000块日元等于多少人民币 压力单位 mmAq 怎么读?怎么换算看到一只微压表上有个 mmAq 却不知怎么读.也不知怎样换算.请知道的大侠告诉我,详细点最好. 1千克棉花的质量与1千克铁的质量比较大小 100公斤铁和100斤棉花哪个重这是见证你们智商的时刻了 镀金的单位?怎么读?怎么换算? 2吨棉花的4分之1和一吨铁的几分之几是一样重的 不锈钢六角管重量计算公式? 2分之1千克棉花比2分之1铁轻快 (单价:元/kg)里的kg表示多少?kg等于多少斤? 管子的换算公式从吨换算成每米的重量价钱? 公式法的公式是啥我忘了 彩钢板 0.5mm,单价8.2元/kg,单价怎么换算成 元/m2急 甲、乙、丙三个小朋友积攒了一些零花钱,甲的存钱是乙的2倍,乙的存钱是丙的2倍,已知甲比丙多存60元.甲乙丙各积攒了多少元? 什么时候一吨棉花比一吨铁重一些? 什么是公式法 在比例尺是6000000分之1的中国地图上量得甲、乙两地间的距离是17厘米,那么两地之间的实际距离是多少千米如果把它画在比例尺是5000000分之1的地图上,应画多少厘米要算式 关于一道数学虚数方程题RT,因为因式分解什么的都没弄出来=-=忘记打题目了=-=x^3-6x^2+10x-8=0 数学公式法公式是什么?一定要是公式……………… 天平左边一斤棉花,右边一斤铁,什么时候棉花比铁重? 什么是纯虚数 ?谢谢了,大神帮忙啊 在一幅比例尺是1:3000000的地图上量得甲乙两城的距离为8厘米在比例尺是1:4000000的地图上甲乙两城的距离是多少厘米 在比例尺是500000分之1的地图上,量得甲乙两地间的距离是4厘米,如果将这段实际距离画在比例尺是2000000分之1的地图上,应画多少厘米?十分钟内. 在比例尺为6000000分之1的地图是量得甲、乙两地间的铁路线、长约5厘米.有快、慢两车同时从甲、乙两地相对同时从甲、乙两地相对开出,3小时后相遇.已知快车每小时行65千米,慢车每小时行多 亿和万元之间怎么换算 如题779134195等于多少万元1570578096等于多少万元1653049244等于多少万元2638322593等于多少万元1591870916等于多少万元 在一副比例尺是500000分之1的地图上,量得甲、乙两地相距3.2厘米,甲乙两地的实际距离是多少千米?用两种方急怎么做还有用2种方法来算 有没有数学过关的教教转换公式.46.94%含固量的液体是43.87吨,换算成36%含固量的液体是57.20吨.其中46.94%含量的液体价格是每吨2440元一吨.那么.转换成36%含量的液体是多少钱. 14亿美元换算成人民币是多少?搞不懂如何换算? 李明和张月都积攒了一些零用钱,两人所积攒的钱数比是9:5,然后李明花了48元,张月花了20元.这样他们剩的钱数相等,李明赞了多少钱? 在产品销售成本计算表中单位成本是如何算出来的,有计算公式吗在产品销售成本计算表中单位成本是如何算出来的,产品入库单是怎么得来的,没有产品购买来呀,只有购材料 用数学归纳法证明1+4+9+...+n^2=1/6*n*(n+1)*(2n+1)ji, 在比例尺是300000/1的地图上量得甲、乙两地相距12cm,如果画在比例尺是1:4000000的地图上,两地相距多少cm 货物加运费以后如何计算成本?有没有计算公式,谢谢单一一种东西我会算,例如:10件物品350元,加运费20元,一共370元,那么1件物品成本为37元,我实在你不明白多种不同价格东西如何摊运费呢?例 1=1^2 2+3+4=3^2 3+4+5+6+7=5^2 4+5+6+7+8+9=7^2 …… 试猜测一般结论,并用数学归纳法证明 在一幅比例尺是1:300000的地图上量得甲,乙两地的距离是5.5厘米如果改成1:500000的地图上.甲乙两地距离是快 1.在比例尺是1:3000000的地图上,量得A、B两地的距离是50厘米.甲乙两辆客车同时从A、B两地相对开出,经过10小时相遇.甲客车每小时行76千米,那么乙客车每小时行多少千米? 用数学归纳法证明:3*7^(k+1)+6能被9整除 小红和小明都攒积了一些零用钱.他们所积攒的钱数比是5:3,在献爱心活动中,小红捐了26圆,小明捐了10圆,这时他们钱数相等,小红原有多少钱? 把一亿化作以万作单位是怎么换算的 1千克的铁你1千克的棉花重.对吗? 知道镀锌钢管一吨的价钱,怎样转换成一米的价格,要具体的公式和解释 一道换算单位30000cm^3=( )kg? 在比例尺是1:3000000的地图上,量得A、B两城的距离是2.4厘米.在A、B两成之间有一中途停靠站C.A、B两成到C站的距离比是7:5.一辆汽车从B城到C站用了0.6小时,求着辆汽车的平均速度. 不锈钢管 不锈钢管价格今日不锈钢管信息 不锈钢管价格.任何地方都可以的,给我看看 ,真的很全,全是最新的不锈钢信息
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn