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

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发现者,编译语言创始人和现代高级程序设计语言的奠基人。

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

2013IBM云存储路线图:更快,更简单,更安全 二战大数据故事:数学家、物理学家、概率论击败德国潜艇 软件定义网络服务商Pertino B轮融资2000万 Scringo社交组件,让你的应用“热闹”起来! Android开发必备:Eclipse 4.2 SR2版本发布 32场!2013年360HTML5校园行首站告捷 移动周报:不做内容,只钻技术的快播 一周消息树:中国开源发展缓慢的“病因” 百度应用引擎BAE正式开放 新增支持Node.js CloudVelocity,下一个VMware? Buffer创始人谈开发:先验证,后编程! 谷歌可穿戴式产品再度来袭:会说话的鞋子 未来Chrome OS或取得Android般成功 云落地@北京,北京市北斗公共平台或开放API? GitHub再遭攻击 主要服务中断约一小时 移动开发者将有望拥有.app域名使用权 微信将推“游戏中心”?移动互联网入口圈地加剧 美国航空公司首次开放API 并举办“黑客马拉松”编程大赛 谷歌数据中心设计的10条“黄金法则” GitHub时代:为什么我们都在开源 VMware发布Horizon Suite 三款应用打包折扣低 TOP30+应用排行榜:二月份国内外综合榜单 开源是否意味着不需要负任何责任? 微软年度科技展 酷炫技术知多少 图解Hadoop生态系统 HTML5并不给力 微软IE10又默认启用Flash Oracle出新提案:Java正逼近iOS? TIOBE 2013年3月编程语言排行榜:厚积薄发 Ruby反超Perl 清华大学开源镜像站将被关闭 发表公开信 前Google资深研究员赵勇回国创业 专注计算机视觉/模式识别 开发者福音,微软开源Kinect源代码 怎么从crosstab中取列名? c++ primer 难!难! 难!如何得到选中文本加亮矩形区域?? 如何在北京找一个工作+学习的机会? sql7.0如何升级到sql2000并且数据不变 DBGrid顯示的范圍如何定? 请教:在VC++中编程时,为何有的文件能出现类成员提示,有的文件编辑时不出现提示,有的只出现该类的,却没有其基类的类成员提示? 一个很好拿的高分 我写了一个拨号网络记时的工具,可以设定时间自动断线,提供源码.... 怎么读取外部数据源中的某个表中的某列的数据类型? 如何注册一个DCOM,让它跑在别的机子上? 关于用Win32 API画 BMP 图片问题 !急急急急急急急急急急 !!! Delphi 6 的 lib path 丢失!! help?谁知道Tab Control 控件的用法,12分的感谢!!!! 请问:如何在一般用户环境下启动管理员程序? 我想捕获网卡收到的数据包,该怎么搞? vb中调用sql server和ORACLE数据库的问题 北京的朋友,有谁知道这东西那里有卖的?? 想在c#和java中选一个,给点意见.客观点. 如何得到在另外一个窗口中所选择的结果 dcc32如何使用? 大哥,大姐们,这到题没分给,但我真的想知道答案 求对VSS或者Team Source开发的例子 科鼎校园网V2.3测试版网上演示 关于 WINDOWPLACEMENT Structure 关于用DELPHI联接ACCESS数据库怎样使用insert命令的问题(很急很急)加分多多!!! 学c#要那些知识前提。 请问新建怎么做? 为什么在excel表中可以看到的数字,用data连接后,在text和dbgrid中却看不到。(只显示出了其中的一部分) 简单问题,关于toolbar CTime类型变量的值存到数据库中datetime类型的小问题! vc怎样打开access数据库!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !求助,我的机子不能启动了。。。 XML中华网有好多的C#资料哦! 比较问题一道,关于 == 版主请进 ~ CrystalReport的一个奇怪的问题,Help! 唉,终于解决不了了,如何在运行时,改变LISTBOX的风格。MSDN说不能解决 AnsiString与TStrings之间的区别与联系,急! 有谁知道下载cobol的编译器,能在window下用的 各位兄弟、姐妹,谁能给我一个超星的账号阿!!谢谢了 再请教 Delphi的EXE 请问关于数组的问题 机器的速度太快,玩不了挖金子,有什么办法? web应用中使用Window ActiveX OCX技术存在问题 请教灰色凹下直线问题 jbuilder编译的问题 有关网络视频会议系统的开发模型问题??? 如何实现在DW中取数据? 如何注册一个DCOM,让它跑在别的机子上? 1molFeCl3完全反应,能生成1molFe(OH)3胶粒吗 生命的意义在于 同一经纬度地区,高处不胜寒的原因A气压低B到达的太阳辐射少C气压高D大气的逆辐射少 生命的意义在于什么? 生命的价值在于? 同一经纬度的地区,“高处不胜寒”的原因是 生命的意义到底在于什么 长度,面积,体积,容积之间的进率?长度,面积,体积,容积之间的进率分别是多少呢? 科学改变着我们的生活资料 生命的价值在于什么? 生命的意义人最宝贵的是生命.生命对于每个人只有一次,人的一生应当这样度过:当他回首往事的时候,他不会因为虚度年华而悔恨,也不会因为碌碌无为而羞愧;临终之际,他能够说:“我的 青藏高原为什么太阳辐射强热量低 1molFeCl3完全转化为Fe(OH)3胶体后形成NA个胶粒为什么是错的实际上应该是更多还是更少为什么 体积和容积能比较吗 爱因斯坦写下这样一个公式:A=x+y+z A是成功,x是正确的方向,y是艰苦努力 谈谈你看到公式后的感想. NA个Fe(OH)3胶体粒子的质量为107g?NA个Fe(OH)3胶体粒子的质量为107g,这句话错在哪里? 体积和大小有什么区别 爱因斯坦说的公式a等于x加y加z这四个字母的含义 1 mol FeCl3与沸水反应生成的胶体中含有NA个Fe(OH)3胶粒用NA表示阿伏加德罗常数的值,下列叙述正确的是(  )A.1 mol FeCl3与沸水反应生成的胶体中含有NA个Fe(OH)3胶粒B.1.12 L NH3所含的原子数是0.2N 体积和容积的区别 爱因斯坦在谈成功秘诀的时候写下了一个公式:A=x+y+z,其中A代表成功,x,y,z分别代表? 导致沙尘暴的天气系统是? 科技进步给我们生活带来了什么变化 爱因斯坦的小故事里的一题请谈一谈你对爱因斯坦写下的公式 A=X+Y+Z 的理解 形成沙尘暴的天气系统是? 科技让我们的生活带来了怎样的变化,科技给我们带来的什么困难 有几道流体力学的题需解答第1题 一条管路由1断面向2断面输送液体,中间无能量输入,则1断面上总比能E1和2断面上总比能E2之间的关系应满足A、 E1E2C、 E1=E2第2题 理想流体流线的伯努利方程表 安徽省生物竞赛相关问题1.安徽省生物竞赛预赛和复赛(全国联赛)的选择会标明单选多选吗?为什么我看有的年份的试卷标了,有的年份的没有标明?2.预赛大概考多少分能进复赛,复赛考多少 对流层大气的热量大部分来自什么辐射? 流体力学习题求解答已知一不可压缩流体的空间流动的分速度Vx=x*x+y*y+x+y+z,Vy=y*y+2yz,试用连续方程推出Vz的表达式 10安徽生物竞赛有没有生物报名方式寒假竞赛培训班 科学技术的发展,有助于改进人们的生活.怎么修改病句? 爱因斯坦所说的公式A=x+y+z中,A、X、Y、Z分别代表什么(英语) 急… 科学技术进步与否是国家富强的标志 修改病句 爱因斯坦谈成功秘诀时说的公式:A=+Y+Z,Z为什么代表少说空话? 2010安徽省生物竞赛复赛 题型题数总分 胶体中的胶粒为何会带电? 为什么青藏高原的年太阳辐射总量比四川盆地多 2009安徽生物竞赛问题推动细胞周期由G2相向M相过度的驱动器为A.CDKl B.CDK2 C.CDK3 D.CDK4 我们的生活在科学技术日新月异.修改病句 青藏高原,四川盆地,和长江中下游平原那个获得太阳辐射最少,为什么 对于我来说,生命的意义在于设身处地替人着想,忧他人之忧,乐他人之乐.是爱因斯坦说的吗? 当今时代,科学技术已经推动生产力发展的巨大动力.修改病句 为什么胶体粒子会有选择性的吸附溶液的离子? 1.对于我来说,生命的意义在于设身处地地替人着想,忧他人之忧,乐他人之乐.() 生物学各级竞赛介绍本人浙江省高一新手,求大神介绍下各级竞赛的区别(这几天考的预赛之后还有什么?),以及奖项的含金量, 爱因斯坦成功的秘诀是什么,爱迪生成功的秘诀是什么 对于我来说,生命的意义在于设身处地替人着想,忧他人之忧,乐他人之乐.是什么意思 爪机不能追问 汗 好像五月中下旬就考试了 现在在看黑皮 还有一本普通生物学吧 主要就是问一下现在开始看还有希望拿奖吗 没戏我就专心搞理化(貌似有点太不专一了哈) 省二三就可以 省一 为什么我国年太阳辐射总量最多的地区是青藏高原;最少的地区是四川盆地? 生命的意义在于设身处地替人着想,忧他人之忧,乐他人之乐.对你的启迪是________________________- 生物竞赛实验笔试题考什么啊?我说的是实验题怎么考,不是考试大纲,请估计出题目形式。 高中化学常见胶体的胶粒哪些带正电,那些带负电? 塑料盆长期使用后的污垢怎样祛除我怎么刷也刷不干净 生命的意义在于设身处地替人着想,忧他人之忧,乐他人自乐七下 这句话对你的启迪 “高处不胜寒”是因为高处获得的太阳辐射小.为什么是问,为什么不对. 如何去除塑料盆上小标贴留下的粘贴污垢呢?新塑料盆上都贴有标签,但是撕了小标签后会留下粘贴印,要如何处理呢? 某平行板电容器的电容为C,带电荷量为Q,相距为d,今在板间中点放一个电荷量为q的点电荷,则它受到的电场力的大小为:A.k(2Qq/d2)B.k(4Qq/d2)C.Qq/CdD.2Qq/Cd可是B为什么不对呢? 高处不胜寒与太阳辐射,地面辐射存在什么关系?1.为什么在对流层大气中,随着高度的增加,而温度递减?2.青藏高原海拔高,不是应该离太阳更近,对太阳辐射的削弱作用较弱吗?为什么海拔高会造
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘