中文名:格蕾丝·霍珀
外文名:Grace Hopper
别 名:格蕾丝·赫珀
国 籍:美国
出生地:纽约
出生日期:1906年12月9日
逝世日期:1992年1月1日
职 业:软件工程师
主要成就:计算机软件工程第一夫人
Cobol语言之母
耶鲁大学第一位女博士
格蕾丝·赫柏是谁?美国计算机科学家格蕾丝·赫柏简介
她使用的Mark I机在当时是个奇迹,能在一秒钟内进行3次加法运算,这在40年代堪称超高速运算。美国武器系统当时正依赖于快速计算。格蕾丝在MarKI机上工作最困难的经历是为它撰写操作手册。
有一次,格蕾丝使用的MarkⅡ机出了故障。出错的继电器找到了,故障的原因也找到了:里面有一只死蛾子。蛾子被用镊子夹了出来,她们用胶条贴在记录This is the first actual bug found。”(这是发现的第一只虫子。)bug这个词后来成为计算机领域里的一个习惯说法。
她决心证明她能够让计算机做她能够规定的任何工作。到1954年,一个人带来一些函数,他已经算了6个月,让格蕾丝算出前15个导数。18分钟后,她就把导数交给了这个人。格蕾丝证明了:计算机不仅是数学仪器,当进行数值运算时,它控制运算符号,当进行数据处理时,它控制数据处理符号。
1957年,她设计的Flow-matic系统完成了,被称作B--0。这是第一个英语数据处理的编译程序,也是第一个运用词语的计算机语言。后来,Flow-mafic被吸收进Cobol这个广为使用的商业计算机语言,这是格蕾丝的一大贡献。
从1959年开始,格蕾丝和同事一起设计Cobol计算机语言,Cobol使用的句法和术语更接近自然英语。Cobol将程序和数据截然分开,因此,如果编程员要改变程序,他只需要改变前面编写的程序部分,不必全改。这种语言有显著的文件处理能力,它支持顺序文件和直接存取文件,特别适用于管理存储在磁带或磁盘上的大量数据。
1944年2月,世界著名的大型电磁式自动计算机Mark-Ⅰ在美国哈佛大学启动。为这台长15米、高2.4米,自重30多吨的庞然大物编制程序的,是当时为数不多的女程序员之一、海军中尉格蕾丝·霍波(Grace Hopper ,1906-1992)博士。霍波天才的创造和发明,至今仍在广为流传的有两个:一个是计算机界通用的术语“臭虫”(Bug);另一个就是家喻户晓的“千年虫”(Y2K)。她更加辉煌的业绩在于,她是计算机语言领域的开拓者,她被称作“计算机软件之母”。
格蕾丝·霍波1906年出生于美国纽约一个中产家庭,父亲瓦特·莫利(W .Murray)是保险经纪人,祖父是纽约一位资深的工程师。母亲玛丽(H. Mary)虽然是家庭妇女,却很喜欢数学,这一点在当时是受社会舆论支持的,因为人们认为妇女喜欢数学,有利于管理家庭财务。母亲的数学爱好,自然给霍波的成长带来相当大的影响;但她最喜欢的人,却是慈祥的曾祖父亚力山大——美国海军的退休将军,小格蕾丝常常坐在他的腿上,抚摸军服上的各种装饰,瞪大眼睛,听老人讲惊险的战斗故事。这些,可能就是她选择海军作为自己终身职业的原因。
少年霍波是出了名的“假小子”。在家乡温特沃斯湖畔,树木茂盛,湖水清澈,她经常带着两个妹妹一起爬树、划船、游泳、捉迷藏。最像男孩性格的,是这个女孩对什么事情都爱寻根究底,只要发现不了解的东西,总想把它们拆开看个究竟。她母亲清楚地记得,格蕾丝七岁那年,为了弄懂“钟为什么朝一个方向转”的奇怪问题,她把家里的七台钟——从小号的台式钟直到大号的座钟,全部给拆了个七零八落,零件摆满了房间,却无法把它们还原。类似的事情经常发生,也常因此受到母亲的惩罚——罚她在家里挑花刺绣。
一天,她又被关在家中,心烦意乱,泪眼蒙蒙。不知什么时候,父亲已坐在她的身旁。父亲慈爱地摸着她的头说:“孩子,想要做成任何事都必须有耐心,有毅力,还要细心。你妈妈让你学绣花,其实是想培养你的这些品质。”格蕾丝点点头,认为父亲说得在理,从此后,她竭力做到既能“动”又能“静”,并喜欢上了看书和弹钢琴。
霍波的父亲是个很开明的人,他没有男孩,只有三个可爱的女儿,但他希望女儿们也像男孩那样获得受教育的机会,要求她们摆脱传统观念束缚,树立远大的志向,不要依赖父母。不久,他就把大女儿霍波送进了一所私立女子中学。虽然学校要求女学生保持文静的“淑女”形象,可霍波仍坚持体育运动,不仅打篮球,还学会了曲棍球和水球。
就在上中学期间,霍波的家庭发生了变故:她父亲患了动脉硬化症,双腿被切除,家庭的经济骤然紧张起来。母亲勇敢地承担起养家的责任,凭着出色的几何学才能,谋到了一份工作。霍波则一边学习,一边照顾父亲,尽量减轻家庭负担。16岁那年,霍波中学毕业,拉丁文考试没有及格,不能进入大学。父母都没有责备她,他们认为女儿年龄还小,多读一年书没有坏处。于是,她被送进新泽西州一所寄宿学校补习功课,直到第二年秋天才如愿以偿考进韦莎(Vassar)学院就读。
格蕾丝·赫柏:发现世界上第一个bug
对万千程序猿来说,在这个世界上如果有比写程序更痛苦的事情,那一定是亲手找出自己编写的程序中的bug(漏洞)。
几十年前,也有一位女性深感写程序的痛苦,然后她就设计了一套全新的计算机语言,把代码从“01001….”变成了现在我们起码看得懂的样子,现在世界上70%的数据还在用她发明的语言进行处理。
对了,世界上第一只bug也是她顺手找出并命名的。
因为她写的程序太高超,美国海军部搞不定,只好两次把已经退休的她请回来,还为了她把法定退休年龄延长了5年。
耶鲁大学第一位女数学博士、国防部杰出服务勋章这些名头对她来说都是小成就,过世后奥巴马还追授她总统自由勋章,这是美国平民能获得的最高荣誉了。
如果不是她,程序员大概会比现在更爱格子衫,抱更久的电脑,掉更多的头发,感叹更多代码的无常,并且短命个30年。
这个人,就是我们今天要介绍的主人公,与“阿兰·图灵、史蒂夫·乔布斯、比尔·盖茨”等一同入选“IT界十大最有远见的人才”的唯一一位女性——格蕾丝·赫柏。
1906年,赫柏出生在美国纽约。童年的赫柏,展现出了不同于一般小女孩的爱好:爬树、游泳、划船、捉迷藏,热衷于一切动来动去上蹿下跳的活动。
七岁时,为了弄懂“钟为什么朝一个方向转”,赫柏把家里整整七台钟拆了个七零八落。
老是拆东西的小赫柏于是也总被罚,母亲的惩罚很特别——刺绣。这个别致的惩罚培养了赫柏宜动宜静的好习惯。
除此之外,和数学界诸多“大牛”的母亲一样,赫柏的母亲也是一个喜欢数学的家庭妇女,她在赫柏的数学启蒙上发挥了非常重要的作用。
从上学起,赫柏在数学、物理方面都异常出色,一路顺顺利利直到16岁参加高考,却因为偏科太严重,拉丁文考试不及格,没能考上大学。
复读一年后,赫柏考上韦莎学院。这所大学在2012年《福布斯》公布的美国最好大学中排名第20位,新闻报道更是将它评价为最值得选择的大学。
毕业时,赫柏不仅同时获得数学、物理学位,还获得美国优等生的荣誉,留校担任教师的她被聘为学院副教授。
利用获得的奖学金,赫柏再次考进耶鲁大学深造,2年后取得数学硕士学位,继而又攻读博士学位,成为了耶鲁大学历史上第一位女数学博士。
世俗眼中最美好青春的年华,赫柏都花在了学问的深造上。
毕业后,赫柏回到韦莎学院教书。
但人生总是会出现各种意想不到的转折点,对赫柏来说,这个拐点是二战。
赫柏的曾祖父是一名海军将军。1939年二战爆发时,满怀爱国热情的赫柏也坚决要求加入海军。
参军要经过考试,尽管赫柏身高体重都不合格,她死磨硬缠硬是说服了考官,让自己进入海军军校学习,并以第一名的成绩毕业。
毕业的赫柏因为出色的数学背景,被分配到美国船舶局位于哈佛大学的战时科研中心。
彼时,军方正在开展世界第一台大型数字计算机的研究项目——马克一号。赫柏被任命为著名计算机专家霍德艾肯博士的助手,成为这个项目的第三名程序员。
在这儿,赫柏开启了自己程序员的生涯。
她的主要任务,就是为马克一号,还有接下来的马克二号,马克三号编写程序与软件。
一天,计算机发生故障,赫柏经过排查,在计算机的继电器触电里,找到了一只被夹扁的小飞蛾,这只小虫子卡住了机器的运行,赫柏顺手将飞蛾夹在工作笔记里,并诙谐的把程序故障称为“bug”。
这就是我们今天最爱说的“bug”的由来。它的意思,和原身一致,真就是“一只虫”。
这一称呼后来演变成表达缺陷漏洞的计算机专业术语,人们习惯地把排除程序故障叫做“debug”(除虫)。
当时的计算机只能识别机器语言——由二进制代码1和0表示的特定指令集合,而且不同型号的计算机使用的机器语言不一样,每次使用新的计算机都要程序员背一套新的指令,想想就令人绝望。
再说了,这些全是由“01001001010101010000010111100……”的观感性真的奇差,非常非常容易出错,程序员们检查起来更是万念俱灰。
眼看头发越掉越多的赫柏想要改变程序员的工作处境,维护大家身心健康。她决心开发一套高级编程语言,让人们能够以接近英语写作的方式来编写程序。
那么问题来了,如何才能让计算机读懂英文?
1949年,赫柏加盟了第一台电子计算机发明人莫契利和艾科特创办的公司,为世界上第一台储存程序的商业电脑编写了许多软件,在这台计算机上,她开始尝试着用简短的指令代码。
1952年,赫柏终于率先研制出世界上第一个编译程序A—O,能够将类似英语的符号代码转换成计算机能够识别的机器指令。不要小看这个编译程序,它有着电子词典的翻译功能,能够将我们的语言翻译给计算机。
翻译器有了,但目前程序员敲打的符号代码只是类似英文,赫柏觉得有必要设计一套更简单的机器语言。
5年后,Flow—matic语言问世了,这是第一个使用词语的计算机语言。这个时候,政府也感觉到这将是一件造福国家的事儿,于是在五角大楼的支持下,赫柏领导着一个工作委员会。2年后,基于Flow语言,又成功研制出第一个商用编程语言COBOL。
这是赫柏发明前进的一小步,却是人类计算机前进的一大步。
COBOL语言最重要的特征,就是语法都和英文接近了,不懂电脑的人也能看程序,编译器软件只做少许修改,就能运行于任何类型的电脑。
不过,再好的程序员也都有出bug的时候,正因为COBOL语言逐渐的广泛使用,赫柏当初的一个小bug成为了“危害巨大的千年虫”。
50年代初,计算机非常昂贵,为了节省空间,赫柏采用六位数来储存日期,即年月日各两位,这一习惯被沿用,然而,到2000年,问题出现了。
简单来说,2000年1月1日的表示是1/1/00,但是1900年1月1日的表示也是1/1/00,所以在进入千禧年时,因为计算机里时间的错误,让很多系统、软件、程序完全乱套。
这些也是后话了。
尽管曾在很多公司供职,赫柏都是加盟、兼职,作为服役的军人,她的大东家还是美国海军部。
1966年,赫柏60岁,到了美国军方服役的年龄上限。只是回家才休息半年,赫柏就被召回了。因为她一走,美国海军部就发现有大量他们无法处理的程序,他们为此赶快修改了原有规章,将退休年龄延长到65岁。
又工作了五年的赫柏于1971年“第二次退休”。这次比上次好,海军部撑了一年,1972年,又把赫柏“召唤”了回来。
最后,众议院特别批准让赫柏延长服役年限,参与军方计划。所以,本该60岁退休的赫柏,直到1986年才终于“成功”退役,79岁的她成了美国退伍时年级最大的军人。
为表彰赫柏对美国海军的贡献,美国海军将一艘驱逐舰命名为“格蕾丝号”,加利福尼亚数据处理中心,也改称“赫柏服务中心”。
1992年1月1日,格蕾丝·赫柏与世长辞。
她将一生献给工作,献给国家,也献给了人类。
Cobol语言目前仍被大范围使用,世界上70%的数据都用它处理,500强中就有492家使用,据称用它书写的程序超过了2000亿行,并且以每年大约50亿行的速度在增长。
多少人因为她,才看懂了代码,爱上了代码,继而在这个电子时代创造出一个个的进步与奇迹。
世界的脚步,伴着她,走向一个新的时代。
2016年,赫柏被奥巴马追授总统自由勋章,这也是,这个国家的平民所能获得的最高荣誉。
格蕾丝·赫柏有着怎样的成就?获得过哪些荣誉
霍波在自然科学,特别是数学和物理方面表现出超群的能力。1928年她获得美国优等生的荣誉。同年,取得数学物理学士学位,留校担任了教师,被聘为韦莎学院的副教授。利用所获得的奖学金,霍波再次考进著名的耶鲁大学深造。1930年,她获得耶鲁大学数学硕士学位;1934年成为耶鲁大学历史上第一位女数学博士。
第二次世界大战爆发是霍波生命中的一个转折点。1943年,满怀着爱国热情,她义无返顾地加入妇女自愿救护组织,放弃了多年奋斗才得到的优裕生活。这时的霍波已是30多岁的中年人,而且有了自己的家庭,但是她坚决要求加入海军,成为一名正式的军人。参军是要经过考试的,无论是身高还是体重,她没有一项合格。霍波才不管这些,死磨硬缠说服了考官,让她进入海军学校学习,并以第一名的成绩毕业。
刚佩上海军中尉肩章,她幸运地被任命为著名计算机专家霍德·艾肯(H.Aiken)博士的助手,参与Mark Ⅰ计算机的研制。她后来回忆说:“我成了世界上第一台大型数字计算机的第三名程序员。”从此,格蕾丝·霍波走上了软件大师的成功之路。
霍波的主要任务是编写程序,她为MarkⅠ,以及后续机器MarkⅡ、Mark Ⅲ编写出大量软件。有趣的是,霍波在软件设计领域的第一项重大“发明”,竟是创造出一个著名的计算机术语——“bug”。1946年,她在发生故障的MarkⅡ计算机的继电器触点里,找到了一只被夹扁的小飞蛾,正是这只小虫子“卡”住了机器的运行。霍波顺手将飞蛾夹在工作笔记里,并诙谐地把程序故障称为“bug”。bug的意思是“臭虫”,而这一奇怪的称呼,后来演变成计算机行业的专业术语。虽然现代电脑再也不可能夹扁任何飞蛾,大家还是习惯地把排除程序故障叫做Debug(除虫)。
在为Mark系列计算机工作期间,霍波也表现出她独有的机智,有一件小事很能说明这一点。那一次,正当她在机器前工作时,突然闯进来一群检查工作的将军。MarkⅠ计算机早不坏晚不坏,偏偏在这时又有“臭虫”作怪,带领将军们参观的艾肯博士,急的顿时变了脸色。只见霍波不慌不忙,斜靠在机器上,用手按着电钮不放,以便让机器能够继续运行。这些将军们离开时一致认为,他们是这台机器没有任何故障的目击者。
战争结束后,带着美国海军的嘉奖令,霍波博士在电脑软件领域建立一系列丰功伟绩:
1949年,她加盟第一台电子计算机ENIAC发明人莫契利和埃克特创办的公司,为世界上第一台储存程序的商业电脑UNIVAC编写了许多软件,开始第一次使用所谓“简短指令代码“。
1952年,在斯佩里·兰德公司兼任系统工程师,她率先研制出世界上第一个编译程序A-O,能够将类似英语的符号代码转换成计算机能够识别的机器指令,并发表了第一篇关于编译器的论文。到了50年代中期,她又开发出Flow-Matic语言,为COBOL高级语言诞生创造了基础。
1959年5月,在五角大楼支持下,她领导着一个工作委员会,成功地研制出第一个商用编程语言COBOL。COBOL语言最重要的特征是语法与英文很接近,可以让不懂电脑的人也能看懂程序;编译器软件只需做少许修改,就能运行于任何类型的电脑。1963年,美国国家标准局将它进行了标准化。用COBOL写作的软件,要比其他语言多得多,霍波博士也因此被誉为计算机语言领域的先驱人物。
50年代计算机存储器非常昂贵,为了节省内存空间,霍波开始采用6位数字来储存日期, 即年、月、日各两位。随着COBOL语言的影响日愈扩大,这一习惯做法被人们沿用下来,到2000年前,居然变成了危害甚大的“千年虫”,这当然是霍波始料不及的事。
霍波一生没有子女,但她非常热爱孩子。由于自己的成功来自于刻苦的努力和自小受到的良好教育,所以她特别重视对年青人的教育。她曾经为青年学生作过近千场演讲,讲述计算机的未来,她将在讲演中获得的纪念品和酬金都无偿捐献给了她热爱的海军。她常常对人说:“与其说我的最大贡献是发展了程序设计技术,不如说我培养了大批程序设计人才。”
霍波生活在一个充满变化的时代,为了时刻激励自己创新意识,她在办公室墙上挂了一个逆时针转动的大钟。她也经常告诫青年人,不必害怕困难,必须勇于创新。她坚信,现在的青年会比他们这辈人更勇敢地面对问题。美国海军部门为了照顾她的身体,曾多次动员她退休,但每次都不得不将她重新请回来,因为离开了这位博学多才的软件大师,许多事情根本无法运转。
1985年11月,霍波升为海军将军(少将军衔),她是美国第一个到达这个官阶的女性。由于这超过了美国法律规定的军官服役年龄,美国国会还专门通过了的法案使对霍波的任命合法化。直到1986年,霍波才以80岁高龄从海军退休,继续担任DEC公司资深顾问。在波士顿,美国海军以最高规格为她举行了退休仪式。在告别演说中,霍波将军仍然关注着未来:“我们年青的人民是属于未来的,我们必须为他们创造未来。”
为表彰她对美国海军的卓越贡献,美国海军将一艘驱逐舰命名为“格蕾丝号”;加利福尼亚海军数据处理中心也改称“霍波服务中心”。
1980年,霍波获得国际IEEE组织颁发的首届计算机先驱奖。
1991年,布什总统在白宫授予霍波"全美技术奖",这也是至今美国女性唯一获此殊荣的人。
霍波一生还获得许多殊荣,如计算机科学年度人物奖、国家技术奖等、海军功勋服务奖、国防部卓越服务奖等等。
1971年,为了纪念现代数字计算机诞生25周年,美国计算机学会特别设立了“格蕾丝·霍波奖”,颁发给每年最优秀的30岁以下的青年计算机工作者,因此,“霍波奖”也是全球电脑界“少年英雄”的标志。
格蕾丝·霍波珍惜生命,她希望能够活到94岁,即新世纪来临的那一天。然而,1992年1月1日,女将军在睡梦中再也没有醒来。
在阿灵顿美国国家公墓,霍波的身边放满了勋章和鲜花,她是世界妇女的楷模,也是计算机界备受崇敬的软件大师。
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。